[英]Android - Retrofit json parsing
我有以下JSON數組。 我想使用改造在android中解析它
[
{
"todo_id": "1",
"todo_content": "Homework",
"date": "2016-05-05",
"iscomplete": "1",
"imagelink": "Lighthouse.jpg"
},
{
"todo_id": "2",
"todo_content": "exam",
"date": "2015-04-21",
"iscomplete": "0",
"imagelink": "Desert.jpg"
},
{
"todo_id": "3",
"todo_content": "Lab report",
"date": "2014-08-29",
"iscomplete": "1",
"imagelink": "FB_IMG_14700753538617403.jpg"
}
]
當我使用翻新進行json解析時,但不解析todo_id和todo_content的關鍵值,因為它顯示了其他關鍵值的日期,不完整和imagelink,這是我的Android代碼,用於做出響應
public void onResponse(Call<List<AndroidVersion>> call, Response<List<AndroidVersion>> response) {
if (response.isSuccess()) {
try {
for (int i = 0; i < response.body().size(); i++) {
AndroidVersion ver = new AndroidVersion();
ver.setTodoContent(response.body().get(i).getTodoContent());
ver.setTodoId(response.body().get(i).getTodoId());
ver.setDate(response.body().get(i).getDate());
ver.setIscomplete(response.body().get(i).getIscomplete());
ver.setImagelink(response.body().get(i).getImagelink());
arrayList.add(ver);
Log.v("ret",response.body().get(i).toString());
}
adapter = new DataAdapter(arrayList);
recyclerView.setAdapter(adapter);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用序列化名稱。
您的json響應具有參數名稱“ todo_id”,因此在pojo類中,您必須按原樣提及它,請遵循pojo類的示例:
public class Pojo {
private int todo_id;
private String todo_content;
public int getTodo_id() {
return todo_id;
}
public void setTodo_id(int todo_id) {
this.todo_id = todo_id;
}
public String getTodo_content() {
return todo_content;
}
public void setTodo_content(String todo_content) {
this.todo_content = todo_content;
}
}
名稱應匹配。希望對您有所幫助!
public class Example {
@SerializedName("todo_id")
@Expose
private String todoId;
@SerializedName("todo_content")
@Expose
private String todoContent;
@SerializedName("date")
@Expose
private String date;
@SerializedName("iscomplete")
@Expose
private String iscomplete;
@SerializedName("imagelink")
@Expose
private String imagelink;
public String getTodoId() {
return todoId;
}
public void setTodoId(String todoId) {
this.todoId = todoId;
}
public String getTodoContent() {
return todoContent;
}
public void setTodoContent(String todoContent) {
this.todoContent = todoContent;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getIscomplete() {
return iscomplete;
}
public void setIscomplete(String iscomplete) {
this.iscomplete = iscomplete;
}
public String getImagelink() {
return imagelink;
}
public void setImagelink(String imagelink) {
this.imagelink = imagelink;
}
}
它應該為你工作
轉到此鏈接並將您的響應粘貼到那里,以為您的響應生成適當的POJO類。 這也將生成getter和setter方法。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.