本章主要介绍用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相关推荐

  1. java 内存 四_java最终化的内存保留问题(4)

    四. 一种代替最终化的选择 在前面一节中的示例还存在一种不确定性可能:JVM并不能保证它在最终化队列中调用对象的终结器的顺序.而来自于所有类(应用程序,库,等等)的终结器都是被同等对待的.因此,一个占 ...

  2. java插件化_Java插件化开发

    在java程序开发过程中. 可能需要加载插件的功能. 所以要动态加载Jar文件来实现插件的加载. 我这边用了Kotlin 一. 创建接口 interface PluginInitializer { f ...

  3. java格林威治时间_JAVA 花样化格林威治时间(Wed Aug 01 00:00:00 CST 2012)花样转换...

    1.若是格林威治时间时间是date类型.(这种花样最简朴) SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); Date ...

  4. java如何引用文件_java 中如何引用json文件

    java如何创建Json文件?每次做题前,小编都会先潇洒的写下一个解字,然后开始看题-- 新建json文件放在服务器指定目录下,然后读取和写入信息. 小编是想把讨论世界上最可怕的事情,莫过于有眼睛却发 ...

  5. java char 打印_Java中char[]输出不是内存地址的原因详解

    前言 Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean. 计算机中的基础数据单位是bit, 1byte=8bit. 数据类型 ...

  6. java转义空格_java中如何输出空格

    展开全部 空格可以直接输入,例如System.out.println(" ");而如果用String表示那些符32313133353236313431303231363533e59 ...

  7. 问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势

    问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势 苹果首席设计师谈为何会在iOS上选择扁平风格http://ndnews.oeeee.com/html/201306/11/71078.htm ...

  8. (js)扁平数组树状化 树状数组扁平化

     扁平数组树状化(利用递归,两个函数完成树状转化 ) 数组格式: let list = [{ id: 1, title: '标题1', p_id: 0 },{ id: 2, title: '标题2', ...

  9. java 全站静态化_java如何页面全站静态化

    静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别?       比对如下:                               ...

  10. JAVA-Gson-格式化输出json字符串

    使用Gson格式化输出json字符串 POM <dependency><groupId>com.google.code.gson</groupId><arti ...

最新文章

  1. 查询反模式 - 隐式的列
  2. Docker构建Spark镜像手动执行命令示例
  3. 通过JDBC连接取得数据库相关的元数据
  4. [BUUCTF-pwn]——wustctf2020_getshell_2
  5. LT8920无线通讯程序
  6. 恩智浦NXP I.MX6ULL芯片介绍下载官网资料
  7. docker随着主机启动 自动启动设置
  8. linux下与windows下的换行符
  9. tinymce富文本编辑器(vue)
  10. 信道估计(一):信道估计基础知识
  11. 传输层协议介绍(深入学习)
  12. 如何利用计算机隐藏文件,怎样彻底隐藏电脑文件夹,真正让别人找不到?-隐藏文件夹怎么显示...
  13. WORD如何使得公式居中,公式编号右对齐?
  14. 计算机网络核心知识。
  15. round在oracle中的作用,oracle中round函数的使用
  16. QSlider功能作用和信号
  17. swift项目调用OC代码,OC项目调用swift代码
  18. 优课联盟 实境英语 Test for Unit 5
  19. Qt cef3 无边框程序最小化之后,再打开 hover 状态失效
  20. 双对数坐标系与双y轴坐标系下绘图

热门文章

  1. 各双拼输入方案之间有明显的优劣之分吗?
  2. IO流(包含常用IO体系图)
  3. html5梯形图形代码,CSS秘密花园:梯形标签
  4. echarts 柱状图圆柱_手把手教你用ECharts画柱状图
  5. chm文件打开出现已取消该网页的导航
  6. 长沙IT培训学校有哪些?IT培训选线上还是线下?
  7. ios frame和bounds区别
  8. win10计算器_你所不知道的 Windows 10 小诀窍:万能计算器、虚拟键盘、屏幕截图标注...
  9. Hive数据类型(转:https://blog.csdn.net/xiaoqi0531/article/details/54667393)
  10. 微信开放平台的使用介绍,配置流程