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来配置。等待下一步研究。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM