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