JSON解析精度丢失问题(net.sf.json)

问题发生的场景:

json传递过来一个BigDecimal类型数据【545169.8113】,通过JSONObject.fromObject来将其转换为一个对象,在转换之后的对象数据中存储的数据已经丢失了变为【545169.8】丢失了部分精度。

使用的JAR包:net.sf.json


问题跟踪

追踪问题的根源,解析过程一直在这里面进行调用
-w1113
最后会nextValue拼接出一个【545169.8113】,这个时候还是正确的。
-w1392
-w1186

最后会将这个传入NumberUtils.createNumber方法,解析后就会是一个丢失精度的Float
-w992

我的解决办法是换了一个阿里的包【com.alibaba.fastjson】,个人觉得应该还有其他的解决办法通过jsonConfig来配置。等待下一步研究。
posted @ 2020-04-08 16:07  newbie94  阅读(1882)  评论(1编辑  收藏  举报