gpt4 book ai didi

java - 具有嵌套值的 JSON 到 POJO

转载 作者:行者123 更新时间:2023-12-02 02:07:04 26 4
gpt4 key购买 nike

所以我有这样的 json 响应:

"data": [
{
"id": 11881,
"date": "2018-03-26T16:22:08",
"date_gmt": "2018-03-26T14:22:08",
"guid": {
"rendered": "http://google.com"
},
"modified": "2018-03-26T16:22:08",
"modified_gmt": "2018-03-26T14:22:08",
"slug": "some text",
"status": "some status",
"type": "post",
"link": "http://google.com",
"title": {
"rendered": "some title"
}
}
]

如果我有这样的类,我如何解析对 POJO 类的这样的响应:

public class Response{
private List<Post> data;
}

public class Post{
private String id;
private String date;
private String date_gmt;
private String guid;
}

问题是它有 guid 和 title 等嵌套值,我如何将其解析为一个 POJO 类,而无需为每个嵌套值创建 pojo?

最佳答案

您可以创建Pojo.class,如下所述

public class pojo {


private Title title;
private String link;
private String type;
private String status;
private String slug;
private String modified_gmt;
private String modified;
private Guid guid;
private String date_gmt;
private String date;
private int id;

public Title getTitle() {
return title;
}

public void setTitle(Title title) {
this.title = title;
}

public String getLink() {
return link;
}

public void setLink(String link) {
this.link = link;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getSlug() {
return slug;
}

public void setSlug(String slug) {
this.slug = slug;
}

public String getModified_gmt() {
return modified_gmt;
}

public void setModified_gmt(String modified_gmt) {
this.modified_gmt = modified_gmt;
}

public String getModified() {
return modified;
}

public void setModified(String modified) {
this.modified = modified;
}

public Guid getGuid() {
return guid;
}

public void setGuid(Guid guid) {
this.guid = guid;
}

public String getDate_gmt() {
return date_gmt;
}

public void setDate_gmt(String date_gmt) {
this.date_gmt = date_gmt;
}

public String getDate() {
return date;
}

public void setDate(String date) {
this.date = date;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public static class Title {
private String rendered;

public String getRendered() {
return rendered;
}

public void setRendered(String rendered) {
this.rendered = rendered;
}
}

public static class Guid {
private String rendered;

public String getRendered() {
return rendered;
}

public void setRendered(String rendered) {
this.rendered = rendered;
}
}
}

你可以解析列表

 try {
JSONObject jsonObject = new JSONObject("YOUR_RESPOSE");
JSONArray data = jsonObject.getJSONArray("data");
Type listType = new TypeToken<ArrayList<pojo>>() {
}.getType();
ArrayList<pojo> list =new Gson().fromJson(data.toString(), listType);

} catch (JSONException e) {
e.printStackTrace();
}

关于java - 具有嵌套值的 JSON 到 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50620797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com