如何为具有整数键的json对象创建pojo类?

时间:2015-12-26 09:36:02

标签: java json android gson

我想将此json请求转换为pojo:

{
"query": {
    "pages": {
        "101": {
            "id": 101,
            "title": "My book",
            "index": 1,
            "img": "xyz.com"
        },
        "102": {
            "id": 102,
            "title": "My book",
            "index": 1,
            "img": "xyz.com"
        }

    }
}
}

页面对象里面的Json对象包含整数键,它们是动态的,我的意思是它们的键可以改为其他整数值。我使用json www.jsonschema2pojo.org工具来创建pojo类,但这并不能解决我的目的,因为它将为对象101,102创建两个单独的类,并且这些对象可以更改其键的值。我的观点是,当我下次打到api时,它会像104,105等一样。所以请帮助我。

2 个答案:

答案 0 :(得分:0)

你应该这样做:

// Pojo class
public class Page{
    private Integer id;
    private String title;
    private String img;
    private Integer index;

    public Integer getId(){return id;}
    public void setId(Integer id){this.id = id;}

    public String getTitle(){return title;}
    public void setTitle(String title){this.title = title;}

    public String getImg(){return img;}
    public void setImg(String img){this.img = img;}    

    public Integer getIndex(){return index;}
    public void setIndex(Integer index){this.index = index;}
}

如果您使用包装类

public class Pages{
    List<Page> pages = new List<Page>();

    // add

    // remove

    // etc  
}

杰森与杰克逊的转换

List<Page> pages = mapper.readValue(jsonString, ypeFactory.collectionType(List.class, Page.class));

答案 1 :(得分:-1)

最简单,最好的方法是使用此网站 http://www.jsonschema2pojo.org/

为什么这么容易?

您只需将json架构粘贴到网站上,它就会生成所需的模型类。我已经使用了很长时间,从来没有得到过错误的模态课程。它也有很多功能。

enter image description here

使用第三方工具提高工作效率。