一、接口传来的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);
//以上没测试过。只是大体思路