如果我尝试从我的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但响应。体是空的。 谢谢!
答案 0 :(得分:0)
结果不是数组。这是一个对象。
你可以试试这个:
@GET("api/v1/top-coins/{top}")
Call<JsonElement> getStats(@Path("top")String top);
将JSONArray
替换为JsonElement
。