Gson解析问题对象数组问题

{
"state": 1,
"msg": "成功",
"data": {
"reportInfo": [
{
"desc": "",
"type": "低洼",
"houseName": "某某胡同10(号院)",
"reportId": "9d731c13-317b-4c5a-85e1-109247ef8994",
"status": "草稿",
"owner": "王五",
"commitTime": ""
},
{
"desc": "ssssssssssssss",
"type": "低洼",
"houseName": "某某胡同10(号院)",
"reportId": "447b3919-3d7f-434d-aa26-6d05191cabb9",
"status": "待审核",
"owner": "王五",
"commitTime": ""
},
{
"desc": "",
"type": "违建",
"houseName": "某某胡同10(号院)",
"reportId": "e291a437-94e2-4445-bdfc-6bb6cd9c00e9",
"status": "草稿",
"owner": "王五",
"commitTime": ""
}
]
}
}

请问怎样用Gson解析上面那个json数据中 data中的“reportInfo”对象数组 然后放到List对象集合中。。

我有个Gosn方法 :
public static Object gsonparser(String result, Type type, String tag) {
try {
Gson gson = new Gson();
Object obj = null;
obj = gson.fromJson(new JSONObject(result).getString(tag), type);
return obj;
} catch (Exception e) {
}
return null;
}

调用这个方法

Object result = GsonParser.gsonparser(s1, new TypeToken(){}.getType(),"data");
Log.w("reportInfos1",result.toString());

得到如下结果 。。

reportInfos1: {reportInfo=[{owner=王五, desc=, houseName=某某胡同10(号院), type=低洼, status=草稿, reportId=9d731c13-317b-4c5a-85e1-109247ef8994, commitTime=}, {owner=王五, desc=ssssssssssssss, houseName=某某胡同10(号院), type=低洼, status=待审核, reportId=447b3919-3d7f-434d-aa26-6d05191cabb9, commitTime=}, {owner=王五, desc=, houseName=某某胡同10(号院), type=违建, status=草稿, reportId=e291a437-94e2-4445-bdfc-6bb6cd9c00e9, commitTime=}]}

。。。好像偏离了。。

求大神指点 怎么把reportInfo 放到已有的实体类ReportInfo集合中。。。

1个回答

定义一个Type

 JSONObject json=new JSONObject(你的json字符串)
 Type type= new TypeToken< ArrayList< ReportInfo >>( ) { }.getType();
ArrayList< ReportInfo > reportinfos=gson.fromJson(json.getArray(reportInfo),type);

代码可能不对,,不过思路就是这个样子

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问