簡體   English   中英

Android-翻新json解析

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM