【转载】Java 复杂json对象转Map
转自:http://zhangruibin.com/article/json2map.html
怎样将复杂的json对象转化成Map? 这就涉及了一点,是否存储最次级子节点的KEY和Value为Map的K_V, 本文中介绍两种搜集的发解决办法。都是存储最底层子节点作为K_V,可以根据自己的json形式进行特殊处理。 首先说下使用到的外部包com.alibaba.fastjson.JSONObject; Maven中增加依赖:
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency>
接下来直接上代码,可以封装成自己的工具类:
第一种方式(已封装成工具类)
private static Map JsonToMap(Stack<JSONObject> stObj, Map<String, Object> resultMap) throws Exception { if (stObj == null && stObj.pop() == null) {return null; } JSONObject json = stObj.pop(); Set<String> strings = json.keySet(); Iterator it = strings.iterator(); while (it.hasNext()) {String key = (String) it.next();//得到value的值Object value = json.get(key);if (value instanceof JSONObject) {stObj.push((JSONObject) value);//递归遍历JsonToMap(stObj, resultMap);} else {resultMap.put(key, value);}} return resultMap; }
第二种方式
private static Map<String, Object> parseJSON2Map(String jsonStr) { Map<String, Object> map = new HashMap<String, Object>(); // 最外层解析 JSONObject json = JSONObject.fromObject(jsonStr); for (Object key : json.keySet()) {Object value = json.get(key);// 判断内层对象类型,如果还是数组的话,继续解析if (value instanceof JSONArray) {List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();Iterator<JSONObject> it = ((JSONArray) value).iterator();while (it.hasNext()) {JSONObject json2 = it.next();list.add(parseJSON2Map(json2.toString()));}map.put(key.toString(), list);} else {map.put(key.toString(),value);} } return map; }
【转载】Java 复杂json对象转Map相关推荐
- java复杂map转json_转换复杂的JSON对象为 Map对象
packagecom.test;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjav ...
- jsonobject返回map_如何把JSON对象转为map对象
如何把JSON对象转为map对象呢? JSON 对象保存在大括号内.就像在JavaScript中, 对象可以保存多个 键/值 对.Map对象保存键/值对,是键/值对的集合.任何值(对象或者原始值) 都 ...
- Java解析Json对象
Json对象 {"code":"10000","message":"成功","data":{&quo ...
- Java判断json对象的某个属性是否为空
java 中 JSON 对象的属性如果为空,之间提取使用会报错.对于有可能为空的属性,使用之前需要先判断一下.例如 if(jsonObject.get("fileName")equ ...
- Java创建JSON对象
Java创建JSON对象 private void getJson(HttpServletRequest request, HttpServletResponse response)throws Se ...
- java json设置编码_我们如何用Java编码JSON对象?
甲的JSONObject是的一个子类的java.util.HashMap不设置顺序.我们还可以借助JSONValue.toJSONString(map)方法(即通过实现java.util.Linked ...
- 有关Java中json字符串与map的转换使用
将Map转换为json字符串 String json = JSONUtils.toJSONString(map); 遍历json字符串 JSONObject jsonObject = JSONObje ...
- java取json对象的值_java的JsonObject对象提取值方法
实例如下所示: import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba. ...
- java json转换xml格式_在Java中将JSON对象转换为XML格式?
JSON是一种轻量级的数据交换格式,并且JSON的格式类似于键值对.我们可以使用org.json.XML类将JSONObject转换为XML格式,这提供了将XML文本转换为JSONObject并将JS ...
最新文章
- 海外博士一般朝九晚五,国内博士动辄十几个小时科研时间。为什么普遍认为海外博士水平比较高?...
- 那么辛苦努力的工作,却换来了一身的不是
- php dlt645,DLMS - DLT645规约转换模块
- 第一批鸿蒙系统手机型号,鸿蒙2.0第一批机型名单正式披露!花粉却感叹:华为不够厚道!...
- Qt Linguist手册
- Nacos源码NacosServiceRegistry
- 机器学习 凝聚态物理_机器学习遇到了凝聚的问题
- AM335x关于LCD屏幕的时钟PLL配置
- java中的算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符
- python 异常处理模块_Python Exceptions 异常处理全过程以及异常模块详细解析
- 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
- win10虚拟机搭建Hadoop集群(已完结)
- (附源码)计算机毕业设计java宠物领养饲养交流管理平台
- pid_t 到底是什么?
- 亚麻/苹果/脸书/谷歌/微软面试图鉴
- (一)AC6(System Workbench for STM32)简单介绍及创建一个简单的STM32的工程
- linux环境下搭建PHP运行环境
- python绘制动漫人物图片女生可爱_绘画动漫人物图片女生唯美
- 【python】判断闰年
- 图解java链表基本操作篇一(头插法和尾插法)