转自: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>

接下来直接上代码,可以封装成自己的工具类:

  1. 第一种方式(已封装成工具类)

    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; }
    
  2. 第二种方式

      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相关推荐

  1. java复杂map转json_转换复杂的JSON对象为 Map对象

    packagecom.test;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjav ...

  2. jsonobject返回map_如何把JSON对象转为map对象

    如何把JSON对象转为map对象呢? JSON 对象保存在大括号内.就像在JavaScript中, 对象可以保存多个 键/值 对.Map对象保存键/值对,是键/值对的集合.任何值(对象或者原始值) 都 ...

  3. Java解析Json对象

    Json对象 {"code":"10000","message":"成功","data":{&quo ...

  4. Java判断json对象的某个属性是否为空

    java 中 JSON 对象的属性如果为空,之间提取使用会报错.对于有可能为空的属性,使用之前需要先判断一下.例如 if(jsonObject.get("fileName")equ ...

  5. Java创建JSON对象

    Java创建JSON对象 private void getJson(HttpServletRequest request, HttpServletResponse response)throws Se ...

  6. java json设置编码_我们如何用Java编码JSON对象?

    甲的JSONObject是的一个子类的java.util.HashMap不设置顺序.我们还可以借助JSONValue.toJSONString(map)方法(即通过实现java.util.Linked ...

  7. 有关Java中json字符串与map的转换使用

    将Map转换为json字符串 String json = JSONUtils.toJSONString(map); 遍历json字符串 JSONObject jsonObject = JSONObje ...

  8. java取json对象的值_java的JsonObject对象提取值方法

    实例如下所示: import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba. ...

  9. java json转换xml格式_在Java中将JSON对象转换为XML格式?

    JSON是一种轻量级的数据交换格式,并且JSON的格式类似于键值对.我们可以使用org.json.XML类将JSONObject转换为XML格式,这提供了将XML文本转换为JSONObject并将JS ...

最新文章

  1. 海外博士一般朝九晚五,国内博士动辄十几个小时科研时间。为什么普遍认为海外博士水平比较高?...
  2. 那么辛苦努力的工作,却换来了一身的不是
  3. php dlt645,DLMS - DLT645规约转换模块
  4. 第一批鸿蒙系统手机型号,鸿蒙2.0第一批机型名单正式披露!花粉却感叹:华为不够厚道!...
  5. Qt Linguist手册
  6. Nacos源码NacosServiceRegistry
  7. 机器学习 凝聚态物理_机器学习遇到了凝聚的问题
  8. AM335x关于LCD屏幕的时钟PLL配置
  9. java中的算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符
  10. python 异常处理模块_Python Exceptions 异常处理全过程以及异常模块详细解析
  11. 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
  12. win10虚拟机搭建Hadoop集群(已完结)
  13. (附源码)计算机毕业设计java宠物领养饲养交流管理平台
  14. pid_t 到底是什么?
  15. 亚麻/苹果/脸书/谷歌/微软面试图鉴
  16. (一)AC6(System Workbench for STM32)简单介绍及创建一个简单的STM32的工程
  17. linux环境下搭建PHP运行环境
  18. python绘制动漫人物图片女生可爱_绘画动漫人物图片女生唯美
  19. 【python】判断闰年
  20. 图解java链表基本操作篇一(头插法和尾插法)

热门文章

  1. uni.showModal 里的this指向
  2. 如何制作高质量的PPT
  3. python 实现网站测速_技术|tespeed-测试网速的Python工具
  4. ElasticSearch原理应用以及京东搜索案例
  5. Comparator比较器
  6. 小程序开发框架详细介绍
  7. jq制作飞机大战小游戏
  8. Python数据库安装
  9. 让实时音视频技术融于无形
  10. 多益网络校招 —— 二面hr面