public static void putAllIdToMap(String json, String name, String id) { String value = ""; String key = ""; Map<String, Object> map = (Map<String, Object>)JsonUtils.jsonToMap(json); for (Entry<String, Object> key1 : map.entrySet()) { JsonParser parser = new JsonParser(); JsonElement jsonElement = parser.parse(JsonUtils.object2Json(key1.getValue())); if (jsonElement.isJsonObject()) { JsonObject jsonObject = jsonElement.getAsJsonObject(); String jsonstr = jsonObject.toString(); putAllIdToMap(jsonstr, name, id); } else if (jsonElement.isJsonArray()) { List<Map<String, Object>> liatMap = (List<Map<String, Object>>)key1.getValue(); for (Map<String, Object> map2 : liatMap) { String jsonstr = JsonUtils.object2Json(map2); putAllIdToMap(jsonstr, name, id); } } else { if (key1.getKey().equals(name)) { if (!"".equals(key1.getValue()) && null != key1.getValue()) { key = key1.getValue().toString(); } } if (key1.getKey().equals(id)) { if (!"".equals(key1.getValue()) && null != key1.getValue()) { value = key1.getValue().toString(); } } if (StringUtils.isNotEmpty(key) && StringUtils.isNotEmpty(value)) { idMap.put(key, value); break; } } } }
注:根据name和ID,找出以name为key id的值为value的键值对,由于获取到的json可能是空、Object、JsonArray等,所以先判断,在使用递归解决多层嵌套问题。
相关推荐
用java实现的递归下降文法 将JSon字符串转换成Java对象 为了简单化 忽略了很多情况 仅仅作为初接触编译原理的同学们共勉 User对象有一个Teacher对象 Teacher里有一个Book对象 等等 比如 User user User json User ...
Java递归算法构造JSON树形结构,Java递归算法构造JSON树形结构Java递归算法构造JSON树形结构
php递归json的类,php递归算法,php json类算法,php 递归json类封装
使用递归方法循环读取省市区的json文件数据,并保存到数据库中,经测试可以直接使用,代码里包含省市区的json文件,递归读取方法,可用作系统省市区数据初始化作用
递归循环读取省市区json文件数据,并保存到数据库中(很全面) 其中包含代码,json文件,实体类代码。轻松上手
本文实例讲述了js 递归json树实现根据子id查父id的方法。分享给大家供大家参考,具体如下: 最近做了一个类似用js实现思维导图的功能,作为思维导图,一定会有树状结构的数据产生,在操作里面的节点时会经常需要查找...
json字符串递归解析
使用Python递归解析从TCGA下载的metadata.cart.json文件
从零开始Python实现一个递归下降JSON解释器和生成器
小例子:[{"a":"b"},{"a":"b"}],拆分长度为10,结果为[{"a":"b"}] [{"a":"b"}] ; 用到了fastjson
深度解析-json 递归解析字符串化的 json 并返回 javascript 对象用法 npm install --save deep-parse-json or yarn add deep-parse-json const { deepParseJson } = require('deep-parse-json') const stringified =...
IdHTTPServer复杂JSON递归解析,用递归方法遍历解析任意复杂JSONG,代码简洁规范,堪称经典.
省市县递归函数
该软件包不处理外部引用,在使用此软件包之前,您需要使用ref-parser并将所有类型压缩为一个模式。例子json-schema-cycles导出函数analyzeTypes ,该函数接受一个JSON模式对象,并以与相同的格式返回结果对象,但...
主要给大家介绍了关于利用java+mysql递归实现拼接树形JSON列表的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
该脚本可以扫描指定路径,将符合条件的文件全部找出。你可以添加自己的函数来处理符合条件的文件。如删除某个文件夹里的所有特定文件
c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘 n!c++ 递归 阶乘...
批量处理文件,显示代码行数,总行数,微信小程序特别好用 支持递归文件夹及文件夹下所有子文件夹的*.js,*.json,*.css,*.wxss,*.wxs文件的批量处理