qq_27677559 2016-07-14 08:10 采纳率: 50%
浏览 1876

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条回答 默认 最新

  • 「已注销」 2016-07-14 13:09
    关注

    定义一个Type

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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作