xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法

xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法

这是一个忧伤的问题,一开始我一直往Json解析为Map时,把这个数据类型变为String类型,然后研究了半天,参考了网上很多方法,基本上都是一层的json可以转为String,然后只要是嵌套json就不行了,所以就需要循环遍历,但是这种循环遍历太麻烦了。

我就想在xml转为json的时候,将所有的类型都变为字符串

我用的xml转为json的方式:
maven引入:(研究了半天非maven项目引入这个包,没研究出来,最后直接写的一个maven项目然后通过接口来让非maven的项目处理xml转json的)

      
            org.json
            json
            20180813
        

最开始的代码,是转为json对象,然后toString获取字符串在这里插入图片描述
然后Debug看源码,看看在转为json的时候是什么时候给他转为Long对象的
xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法_第1张图片

在进入parse方式之后
xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法_第2张图片

有这样一句话,根据断点,进入了stringToValue方法中发现在这块将这个字段转换为long类型,
然后我去看keepStrings这个布尔参数有没有被处理过,发现这个参数是父层方法传进来的
xml转为多层嵌套Json然后再解析为Map,数值类型转为科学计数法_第3张图片
那直接使用toJSONObject(String string, boolean keepStrings)这个方法。
现在的代码:
在这里插入图片描述
问题解决。
(如果你不是xml转为json,直接是多层嵌套json,可以试试先将他转为xml,然后用这种方法在转为json,这种方式我没有试验过,如果你实在没有好的方法来解决嵌套json转为Map,数值型转为了科学计数法的话,可以尝试下,如果你有好的方法,如果不介意的话,可以动动你的小手指,将方法写在评论上么。感谢)

你可能感兴趣的:(Json)