说明

在上一章节的博客中,我们已经学习了如何解析嵌套的Json,将获取嵌套Json的节点。那么在这一章节中,如何通过以下的节点格式去取值。

  1. index8=results>index>index7>
  2. index7=results>index>
  3. index=results>
  4. index2=results>
  5. results=null

分析及实现

既然我们已经解析了JSON文件,并且转化了Map,而且还拿到了嵌套Json的节点,现在无非就是遍历Map,然后重新取值,这个逻辑应该不难。代码如下:

/*** 根据json报文和结点获取相应的值* @param map 已经解析过的Json* @param listNode 要获取的字段在json中的节点路径(用">"分割)* @return*/public static List<Map<String,Object>> gainJsonMapValue(Map jsonMap,String stringNode){List<Map<String,Object>> resultList = new ArrayList<Map<String,Object>>();String[] nodeArray = stringNode.split(">");for (int i = 0; i < nodeArray.length; i++) {if (jsonMap.get(nodeArray[i]) instanceof List) {if (i < nodeArray.length&& null != jsonMap.get(nodeArray[i]) && "" != jsonMap.get(nodeArray[i])) {Map<String,Object> mapList = jsonMap;if (((List<Map<String,Object>>)mapList.get(nodeArray[i])).size() > 0) {Map map = new HashMap();map.put(nodeArray[i], ((List<Map<String,Object>>)mapList.get(nodeArray[i])));resultList.add(map);}}break;}else{if (i < nodeArray.length - 1 && null != jsonMap.get(nodeArray[i]) && "" != jsonMap.get(nodeArray[i])) {jsonMap = (Map) jsonMap.get(nodeArray[i]);}else{Map<String,Object> resultMap = new HashMap<String,Object>();resultMap.put(nodeArray[i],jsonMap.get(nodeArray[i])+"");//nodeArrayresultList.add(resultMap);}}}//     System.out.println("#####"+resultList);return resultList;      }

小结

这篇博客只是简单的说明一下如何去取已经解析出来的Map节点。在下一篇博客中,笔者将会把所有代码都分享出来。

Json文件转Map(三)之获取嵌套Map值相关推荐

  1. $get服务器上的json文件,Web前端:$.getJSON获取json数据失败

    JSON(JavaScriptObjectNotation,JS对象简谱)是一种轻量级的数据交换格式.它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本 ...

  2. jenkins 读取json文件_使用插件轻松获取jenkins构建数据

    使用插件获取Build数据 下载插件 下载这个插件,cd到下载目录下,编译插件, 使用:mvn install 或者 mvn package命令. 编译完成后会在插件目录下生成target目录,可以看 ...

  3. Open3d 获取渲染和固定视角json文件及读入

    1. Open3d的渲染交互 在使用open3d对点云进行可视化,使用一个自己喜欢的渲染风格是很有必要的,open3d提供了一个调节渲染的方法,当你运行程序,打开open3d的窗口,鼠标点击窗口,按H ...

  4. 使用jquery中的getJSON函数获取json文件中的内容并输出到页面上和使用 AJAX处理JSON文件

    html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  5. 动态获取本地json文件,渲染为表格-前端html+css+javascript,nth-child选择器,实时浏览插件,vscode,ajax

    从本地获取到json文件,并进行动态的渲染demo来啦~ 此文章对table表格,nth-child()选择器,插入html标签做的小demo,大佬请绕道,感兴趣的uu可以安心"食用&quo ...

  6. 【Unity3D读取数据】(二)Json文件操作(创建、读取、解析、修改)

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  7. jquery ajax json文件,jQuery ajax读取本地json文件

    jQuery ajax读取本地json文件 json文件 { "first":[ {"name":"张三","sex": ...

  8. 如何修改.json文件的内容?

    以下是项目过程中遇到的一些数据清洗,预处理和统计等常规操作,有需要的可以自行借鉴下相关模块代码,转载或引用请注明. ########################################## ...

  9. python编辑json文件

    参考文章:https://blog.csdn.net/qq_38343151/article/details/104865640https://blog.csdn.net/qq_38343151/ar ...

  10. java的map集合_Java集合之Map

    正文 Map的特点? 通过Map接口的泛型我们可以看出:Map一次添加一对元素,存储的是键值对:而Collection接口一次添加一个元素. Map接口中的key是唯一的. Map的常见方法? 1.添 ...

最新文章

  1. 交换机与路由器大战已结束,超大规模计算公司胜出
  2. [2010国家集训队]Crash的旅游计划
  3. Serverless 场景下 Pod 创建效率优化
  4. 7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇
  5. spring配置druid连接池和监控数据库访问性能
  6. 行先知 为您的办公室管理提供方便
  7. 自学Python八 爬虫大坑之网页乱码
  8. 2020最新文本检测算法TextFuseNet
  9. 2019-07-18
  10. 求反关系运算符:“服从分布”的符号表示 与 “不服从分布”的符号表示
  11. ajax 将整个表单提交到后台处理
  12. python在统计学中的应用论文_应用统计学论文
  13. 鸿蒙形容欣欣向荣发展,比喻事业蓬勃发展繁荣兴旺的成语蒸蒸日上
  14. Zynga完成对快速增长的超休闲游戏领域的领导者——伊斯坦布尔的Rollic的收购
  15. 北京最新道路货物运输驾驶员考试真题题库及答案
  16. Mybatis——注入执行sql查询、更新、新增以及建表语句
  17. java图形打字机_Android模仿打字机效果的自定义View实现
  18. 微内核和宏内核的区别是什么
  19. 随心所欲----食堂点餐系统设计
  20. 嵌入式设备的通讯--秉火STM32学习笔记

热门文章

  1. APP版本更新通知流程测试要点
  2. pycharm修改选中字体颜色
  3. 创建表 备注 修改表结构 修改约束
  4. CSDN开博一周年--总结、感想和未来规划
  5. LINQ的ORM功能中对使用sp_executesql语句的存储过程的支持
  6. web安全day24:一文读懂Linux系统安装软件的几种方法
  7. express服务器多次访问数据库实例
  8. Docker详解(十)——Docker容器CPU资源限额配置
  9. cgroup代码浅析(1)
  10. 迭代总结(随时更新)