JACKSON和FASTJSON,精度转换的区别。

JACKSON与FASTJSON精度问题对比
本文对比了JACKSON与FASTJSON在处理JSON数据时的精度问题,指出JACKSON在处理小数点数据时可能出现精度丢失,而FASTJSON通过默认使用BIGDECIMAL避免了此问题。文章还提供了两种解决方案:一是将高精度数据转为String传输,二是调整JACKSON配置。

最近开始使用JACKSON,在使用的过程中作下总结:

1,JACKSON会精度丢失,JSON中0.00转为对象时,JACKSON会转为DOUBLE:0.0,导致精度丢失。

2,FASTJSON不会出现此种问题,因为会默认BIGDECIMAL,这个可以进行设置。

3,所以0.0以及0.00,JACKSON不能进行强转,但是FASTJSON却可以。

4,所以在JSON传输时,可以把高精度转为String,然后通过BIGDECIMAL中的方法进行转换,避免工具不同造成的精度丢失等问题。还有一个办法,JACKSON可以通过设置new ObjectMapper().configure(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS,true)来解决这个问题。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值