Http返回json数据后封装到pojo类当中

来源:互联网 发布:sql新建数据库 编辑:程序博客网 时间:2024/06/06 20:48

一、接口传来的JSON数据:

{
    "success": true,
    "message": null,
    "detailMessage": null,
    "data": {
        "id": 58767,
        "compareCount": 1,
        "createdAt": null,


    }
}


其中 success为boolean类型,message为String类型 data为一个对象 data里面的id为long类型,compareCount为int类型,createAt为date类型。

二、对应JSON数据的pojo类

1、data对应的pojo类

public class Child{

private long id;

private int compareCount;

private date createAt;


public Child{

this.id= jsonObject.getLong("id");
this.compareCount(jsonObject.getInteger("compareCount"));
this.createAt = jsonObject.getDate("createAt");

}

}


2、整条记录的pojo类

public class Pojo{

protected boolean success;
private String message;

        private boolean success;

private Chlid child;

//以上属性get set方法省略

//最主要是构造函数

public Pojo(JSONObject jsonObject) {
super();
success = "success".equals(jsonObject.get("result"));

message = jsonObject.getString("message");


JSONObject data= (JSONObject) object;

if(data!=null){
child= newChild(data);

}
}

}

3、接收数据的时候转换

列如:

result为接口传来的json字符串

Pojo pojo = new Pojo(JSON.parseObject(result));


4、如果data是以多个对象传来的时候

Pojo类的private Object data;要换成List<Chlid>clidList;

clidList= new ArrayList<Child>();
JSONArray dataItemObjectList = jsonObject.getJSONArray("data");
if (dataItemObjectList != null) {
for (Object object : dataItemObjectList) {
JSONObject dataItem = (JSONObject) object;
Child child = new Child(dataItem);
clidList.add(searchImgItem);


//以上没测试过。只是大体思路



原创粉丝点击