java 扁平化_java 扁平化输出json所有节点key/value
本章主要介绍用java实现扁平化输出json所有节点key/value(包含所有内层子节点)
1.json结构
目的输出bill_list下的datalist里的子节点key/value
2.实现代码
public static Map jsonConvertMap(JSONObject json){
Map map = new HashMap<>();
if(json != null && json.size() > 0){
for(String k : json.keySet()){
Object v = json.get(k);
if(v instanceof JSONArray){
List> list = new ArrayList>();
Iterator it = ((JSONArray)v).iterator();
while(it.hasNext()){
JSONObject json2 = (JSONObject) it.next();
list.add(jsonConvertMap(json2));
}
map.put(k, list);
} else if(v instanceof JSONObject){
List> list = new ArrayList>();
JSONObject child = (JSONObject) v;
for(String stk: child.keySet()){
Object value = child.get(stk);
if(value instanceof JSONArray){
Iterator it = ((JSONArray)value).iterator();
while(it.hasNext()){
JSONObject json2 = (JSONObject) it.next();
list.add(jsonConvertMap(json2));
}
}else{
map.put(stk, value.toString());
}
}
if(list.size() > 0){
for(int m = 0;m
Map chMap = list.get(m);
for(String chKey : chMap.keySet()){
map.put(chKey, chMap.get(chKey).toString());
}
}
}
}else{
map.put(k, v);
}
}
}
return map;
}
java 扁平化_java 扁平化输出json所有节点key/value相关推荐
- java 内存 四_java最终化的内存保留问题(4)
四. 一种代替最终化的选择 在前面一节中的示例还存在一种不确定性可能:JVM并不能保证它在最终化队列中调用对象的终结器的顺序.而来自于所有类(应用程序,库,等等)的终结器都是被同等对待的.因此,一个占 ...
- java插件化_Java插件化开发
在java程序开发过程中. 可能需要加载插件的功能. 所以要动态加载Jar文件来实现插件的加载. 我这边用了Kotlin 一. 创建接口 interface PluginInitializer { f ...
- java格林威治时间_JAVA 花样化格林威治时间(Wed Aug 01 00:00:00 CST 2012)花样转换...
1.若是格林威治时间时间是date类型.(这种花样最简朴) SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); Date ...
- java如何引用文件_java 中如何引用json文件
java如何创建Json文件?每次做题前,小编都会先潇洒的写下一个解字,然后开始看题-- 新建json文件放在服务器指定目录下,然后读取和写入信息. 小编是想把讨论世界上最可怕的事情,莫过于有眼睛却发 ...
- java char 打印_Java中char[]输出不是内存地址的原因详解
前言 Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean. 计算机中的基础数据单位是bit, 1byte=8bit. 数据类型 ...
- java转义空格_java中如何输出空格
展开全部 空格可以直接输入,例如System.out.println(" ");而如果用String表示那些符32313133353236313431303231363533e59 ...
- 问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势
问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势 苹果首席设计师谈为何会在iOS上选择扁平风格http://ndnews.oeeee.com/html/201306/11/71078.htm ...
- (js)扁平数组树状化 树状数组扁平化
扁平数组树状化(利用递归,两个函数完成树状转化 ) 数组格式: let list = [{ id: 1, title: '标题1', p_id: 0 },{ id: 2, title: '标题2', ...
- java 全站静态化_java如何页面全站静态化
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: ...
- JAVA-Gson-格式化输出json字符串
使用Gson格式化输出json字符串 POM <dependency><groupId>com.google.code.gson</groupId><arti ...
最新文章
- 查询反模式 - 隐式的列
- Docker构建Spark镜像手动执行命令示例
- 通过JDBC连接取得数据库相关的元数据
- [BUUCTF-pwn]——wustctf2020_getshell_2
- LT8920无线通讯程序
- 恩智浦NXP I.MX6ULL芯片介绍下载官网资料
- docker随着主机启动 自动启动设置
- linux下与windows下的换行符
- tinymce富文本编辑器(vue)
- 信道估计(一):信道估计基础知识
- 传输层协议介绍(深入学习)
- 如何利用计算机隐藏文件,怎样彻底隐藏电脑文件夹,真正让别人找不到?-隐藏文件夹怎么显示...
- WORD如何使得公式居中,公式编号右对齐?
- 计算机网络核心知识。
- round在oracle中的作用,oracle中round函数的使用
- QSlider功能作用和信号
- swift项目调用OC代码,OC项目调用swift代码
- 优课联盟 实境英语 Test for Unit 5
- Qt cef3 无边框程序最小化之后,再打开 hover 状态失效
- 双对数坐标系与双y轴坐标系下绘图
热门文章
- 各双拼输入方案之间有明显的优劣之分吗?
- IO流(包含常用IO体系图)
- html5梯形图形代码,CSS秘密花园:梯形标签
- echarts 柱状图圆柱_手把手教你用ECharts画柱状图
- chm文件打开出现已取消该网页的导航
- 长沙IT培训学校有哪些?IT培训选线上还是线下?
- ios frame和bounds区别
- win10计算器_你所不知道的 Windows 10 小诀窍:万能计算器、虚拟键盘、屏幕截图标注...
- Hive数据类型(转:https://blog.csdn.net/xiaoqi0531/article/details/54667393)
- 微信开放平台的使用介绍,配置流程