处理json字符串


{"state":"1","value":"2","datalist":[{"id":"86","name":
"图片中的\u003cfont color=FF0000\u003e红色\u003c/font\u003e数字是多少?"
,"desc":"肯德基","content":"30","icon":
"http://admin.trypay.cn/Upload/Images/Gift/20120626170657487_s.png"
,"date":"2012/6/26 17:26:18"},{"id":"87","name":
"图片中的\u003cfont color=008000\u003e绿色\u003c/font\u003e数字是多少?"
,"desc":"麦当劳","content":"30","icon":
"http://admin.trypay.cn/Upload/Images/Gift/20120626170813086_s.jpg"
,"date":"2012/6/26 17:26:12"}]}


这个json字符串包含数组的“datalist”是数组

解析上边的json格式对应如下
JSONTokener jsonParser = new JSONTokener(contenttring);
JSONObject jsonObject = (JSONObject) jsonParser.nextValue();
String state = jsonObject.getString("state");
String value = jsonObject.getString("value");
hashMap.put("state", state);
hashMap.put("value", value);

String datalist = jsonObject.getString("datalist");
Log.d(TAG, "datalist--->" + datalist);
JSONArray array = new JSONArray(datalist);
list = new ArrayList<App>();
for (int i = 0; i < array.length(); i++) {

JSONObject item = array.getJSONObject(i);
String id = item.getString("id");
String name = item.getString("name");
String desc = item.getString("desc");
String content = item.getString("content");
String icon = item.getString("icon");
String date = item.getString("date");
list.add(new App(id, name, desc, content, icon,
date));//App 是自己定义的实体类
}
}
hashMap.put("datalist", list); 

==========================================

{"CommonResponse":{"status":0,"desc":""},"total":1,"parseTime":0,"searchTime":0,"returnCount":1,"records":[{"MODIFY_TIME":"2013-12-05 11:36:35.651","CONTRIBUTORS":"admin","nodeTitle":"广电产品技术","VISIT_TIMES":"162","nodeId":"DYR_KNOWLEDGE_TREE_BORADCAST_TECH","AUTHOR":"admin ef4e1c86-6595-4302-9590-076c3bf19bb1 f5e44a88-772d-4f62-99a7-4dddfbc27742 535c6b3d-c667-450d-a01e-183a1e3aaa74","IndexDBName":"DYRKB_SEARCHINDEX","DocClassName":"ARTICLE"}]}

 

 

JSONTokener jsonParser = new JSONTokener(result);
        JSONObject jsonObject = (JSONObject) jsonParser.nextValue();

        String crStr = jsonObject.getString("CommonResponse");
        JSONObject crObj = JSONObject.fromObject(crStr); //size = 2
        int status = crObj.getInt("status");

        List<KnowledgeTree> treeList = new LinkedList<KnowledgeTree>();
        if (status == 0) {
            String records = jsonObject.getString("records");
            JSONArray json = JSONArray.fromObject(records);
            treeList = (List<KnowledgeTree>) JSONArray.toCollection(json, KnowledgeTree.class);
        } else {
            crObj.getString("desc");   //todo
            return null;
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值