具有嵌套值的 JSON 到 POJO

2024-01-07

所以我有这样的 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();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有嵌套值的 JSON 到 POJO 的相关文章

随机推荐