改造 - JSON阵列问题

时间:2018-01-27 01:33:24

标签: android json retrofit retrofit2

如果我尝试从我的Retrofit调用中获取数据,则为空。可能是因为我使用了错误的数据类型。不确定它是一个数组还是一个ArrayList也许有人可以帮助我。

Api:https://chasing-coins.com/api/v1/top-coins/100

界面:

 @GET("api/v1/top-coins/{top}")
    Call<JSONArray> getStats(@Path("top")String top);

班级:

public class Coinstats {

    @SerializedName("symbol")
    @Expose
    private String symbol;
    @SerializedName("cap")
    @Expose
    private String cap;
    @SerializedName("change")
    @Expose
    private Change change;
    @SerializedName("price")
    @Expose
    private String price;
    @SerializedName("coinheat")
    @Expose
    private Integer coinheat;
    @SerializedName("url")
    @Expose
    private String url;

    public String getSymbol() {
        return symbol;
    }

    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    public String getCap() {
        return cap;
    }

    public void setCap(String cap) {
        this.cap = cap;
    }

    public Change getChange() {
        return change;
    }

    public void setChange(Change change) {
        this.change = change;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public Integer getCoinheat() {
        return coinheat;
    }

    public void setCoinheat(Integer coinheat) {
        this.coinheat = coinheat;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

}

致电:

call2.enqueue(new Callback<JSONArray>() {
            @Override
            public void onResponse(Call<JSONArray> call, Response<JSONArray> response) {

                Log.w("Stats", response.message());

            }
            @Override
            public void onFailure(Call<JSONArray> call, Throwable t) {
                Log.w("no Stats", t.toString());
            }
        });

响应消息给了我一个好的200但响应。体是空的。 谢谢!

1 个答案:

答案 0 :(得分:0)

结果不是数组。这是一个对象。

你可以试试这个:

@GET("api/v1/top-coins/{top}")
Call<JsonElement> getStats(@Path("top")String top);

JSONArray替换为JsonElement