xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法
程序员文章站
2022-03-23 18:37:01
...
xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法
这是一个忧伤的问题,一开始我一直往Json解析为Map时,把这个数据类型变为String类型,然后研究了半天,参考了网上很多方法,基本上都是一层的json可以转为String,然后只要是嵌套json就不行了,所以就需要循环遍历,但是这种循环遍历太麻烦了。
我就想在xml转为json的时候,将所有的类型都变为字符串
我用的xml转为json的方式:
maven引入:(研究了半天非maven项目引入这个包,没研究出来,最后直接写的一个maven项目然后通过接口来让非maven的项目处理xml转json的)
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
最开始的代码,是转为json对象,然后toString获取字符串
然后Debug看源码,看看在转为json的时候是什么时候给他转为Long对象的
在进入parse方式之后
有这样一句话,根据断点,进入了stringToValue方法中发现在这块将这个字段转换为long类型,
然后我去看keepStrings这个布尔参数有没有被处理过,发现这个参数是父层方法传进来的
那直接使用toJSONObject(String string, boolean keepStrings)这个方法。
现在的代码:
问题解决。
(如果你不是xml转为json,直接是多层嵌套json,可以试试先将他转为xml,然后用这种方法在转为json,这种方式我没有试验过,如果你实在没有好的方法来解决嵌套json转为Map,数值型转为了科学计数法的话,可以尝试下,如果你有好的方法,如果不介意的话,可以动动你的小手指,将方法写在评论上么。感谢)