使用fastjson遇到的一点问题
来源:互联网 发布:上海软件开发培训班 编辑:程序博客网 时间:2024/06/05 01:26
[{ "user_id": 5300, "flag": 0, "configs": [ { "user_id": 5300, "config_item_id": 1015, "type": 0 }, { "user_id": 5300, "config_item_id": 1016, "type": 0 } ] } ]
需要解析的json数据如上
百度搜到的解决方案:
http://bglmmz.iteye.com/blog/2154582
稍微修改了一下:
private static List<HashMap<String, Object>> fromJson2Map(String jsonString) { List<HashMap<String, Object>> listMap = new ArrayList<>(); JSONArray jsonArrays = JSONArray.parseArray(jsonString); System.out.println("size = " + jsonArrays.size()); for (int i = 0; i < jsonArrays.size(); i++) { HashMap jsonMap = JSON.parseObject(jsonArrays.get(i).toString(), HashMap.class); HashMap<String, Object> resultMap = new HashMap<String, Object>(); for (Iterator iter = jsonMap.keySet().iterator(); iter.hasNext(); ) { String key = (String) iter.next(); System.out.println("key = " + key); if (jsonMap.get(key) instanceof JSONArray) { JSONArray jsonArray = (JSONArray) jsonMap.get(key); List list = handleJSONArray(jsonArray); resultMap.put(key, list); } else { resultMap.put(key, jsonMap.get(key)); } } listMap.add(resultMap); } return listMap; } private static List<HashMap<String, Object>> handleJSONArray(JSONArray jsonArray) { List list = new ArrayList(); for (Object object : jsonArray) { JSONObject jsonObject = (JSONObject) object; HashMap map = new HashMap<String, Object>(); for (Map.Entry entry : jsonObject.entrySet()) { if (entry.getValue() instanceof JSONArray) { map.put((String) entry.getKey(), handleJSONArray((JSONArray) entry.getValue())); } else { map.put((String) entry.getKey(), entry.getValue()); } } list.add(map); } return list; }
调用:
List<HashMap<String, Object>> jsonMap = fromJson2Map(response.asString()); System.out.println("jsonMap size " + jsonMap.size()); for (HashMap<String, Object> aJsonMap : jsonMap) { List<HashMap> configDataList = (List<HashMap>) aJsonMap.get("fields"); System.out.println("configDataList size = " + configDataList.size()); for (HashMap configData : configDataList) { String type = (String) configData.get("type"); if (type.equals("select")) { System.out.println("area_code: " + list.get(i).get("area_code") + " city_name: " + list.get(i).get("city_name")); System.out.println(configData); } } }
看来也就只会抄抄改改,也看不懂什么意思。。诶
阅读全文
0 0
- 使用fastjson遇到的一点问题
- 使用fastjson遇到的问题
- fastjson使用遇到的问题
- fastjson 使用时遇到的问题
- 使用Gson和FastJson解析JSON数据遇到的问题
- 使用fastjson编辑全大写字段时遇到的问题
- 使用ROW_NUMBER() OVER遇到的一点问题
- fastjson的@JSONField注解的一点问题
- 使用CodeIgniter的路径优化遇到的一点小问题
- xmlhttp组件使用中遇到的一点问题
- 关于Request.Url使用遇到的一点问题
- 关于 VS2010 使用中遇到的一点小问题
- 关于ActivityGroup使用过程中遇到的一点问题
- 关于ActivityGroup使用过程中遇到的一点问题
- 使用parse generator遇到的一点问题,刚刚入门啊
- 第一次在项目中使用JQuery遇到的一点问题
- 使用python执行复制时遇到的一点问题
- android上使用opencv遇到的一点问题
- 第一个程序:HelloWorld案例
- Mahout代码示例
- Elasticsearch如何选择索引或类型来存储数据
- 集合_课后练习
- 20170914
- 使用fastjson遇到的一点问题
- POJ 2976 Dropping tests
- 流:文本文件的读写
- django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法
- ajax传参到controller时报400 Bad Request
- 简单ajax交互
- POM文件详解
- day02_java基础加强(jdk新特性 javaa设计模式 反射)
- path环境变量|classpath环境变量