0
我使用http://www.jsonschema2pojo.org/产生我的POJO,现在我想分析我的JSONResponse这是形式的解析JSONArray:如何利用改造
[
{
"id":1,
"name":"xyz",
"rxg":5,
"img":"xyz.jpg"
},
{
"id":2,
"name":"abc",
"rxg":9,
"img":"abc.jpg"
},
{ },
{ }
而这正是我对如何进行一无所知:
Call<List<MyList>> call = apiInterface.doGetListResources();
call.enqueue(new Callback<List<MyList>>() {
@Override
public void onResponse(Call<List<MyList>> call,
Response<List<MyList>> response) {
// How to proceed ahead? I'm completely stuck here
}
这是我的模型类:
公共类MYLIST实现Parcelable {
@SerializedName("id")
@Expose
public int id;
@SerializedName("name")
@Expose
public String name;
@SerializedName("rxg")
@Expose
public int rxg;
@SerializedName("image")
@Expose
public String img;
public final static Parcelable.Creator<MyList> CREATOR = new Creator<MyList>() {
@SuppressWarnings({
"unchecked"
})
public MyList createFromParcel(Parcel in) {
MyList instance = new MyList();
instance.id = ((int) in.readValue((int.class.getClassLoader())));
instance.name = ((String) in.readValue((String.class.getClassLoader())));
instance.rxg = ((int) in.readValue((int.class.getClassLoader())));
instance.img = ((String) in.readValue((String.class.getClassLoader())));
return instance;
}
public MyList[] newArray(int size) {
return (new MyList[size]);
}
};
/**
* No args constructor for use in serialization
*/
public MyList() {
}
/**
* @param id
* @param rxg
* @param name
* @param img
*/
public MyList(int id, String name, int rxg, String img) {
super();
this.id = id;
this.name = name;
this.rxg = rxg;
this.img = img;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getRxg() {
return rxg;
}
public void setRxg(int rxg) {
this.rxg = rxg;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(id);
dest.writeValue(name);
dest.writeValue(rxg);
dest.writeValue(img);
}
public int describeContents() {
return 0;
}
}
这是我第一次尝试改造,所以请耐心等待。并且非常感谢您的帮助。我试图在这里看到类似的问题:https://stackoverflow.com/a/39774297/5770629但无法进一步的步骤。
响应成功但我无法获取数据。原因是我对如何在这里循环无能为力。当使用getters获取数据时,我什么也得不到。 –
所以你的意思是根据我提到的代码,如果你只是记录list.size()你得到0,或者你是否尝试过在成功的场景中记录response.body.string()? –
现在我得到这个在logcat的: d/OkHttp:ETag的: “f6560d9c0785104d09908d052635b92c” 我已经试过: 如果(response.isSuccessful()){ 名单< MyList > myList中= response.body(); Log.v(“my_tag”,myList.toString()); Log.v(“my_tag”,“size is:”+ list.size()); (MyList myList:list) { String name = myList.getName(); Log.d(“my_tag”,“”+“”+ name.toString()); } } else { } Log.d(“my_tag”,response.code()+“”); } –