解决fastjson反序列化时报错的问题

解决fastjson反序列化时报错的问题,第1张

现在JAVA 对象如下:

该对象需要存进redis里面,序列化进去,没发现问题,但反序列化时,报如下错

经查,原来是fastjson不支持泛型,液纯铅修改原闹好有的对象即可:

去掉泛形后序裤余列化一起正常。

解析报错:

com.alibaba.fastjson.JSONException: Rounding necessary

at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:708)

at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:677)

at com.alibaba.fastjson.JSON.parseObject(JSON.java:245)

at com.alibaba.fastjson.JSON.parseObject(JSON.java:217)

at com.alibaba.fastjson.JSON.parseObject(JSON.java:187)

at com.t3.network.helper.f.onNext(:5)

at io.reactivex.internal.operators.observable.ObservableObserveOn ObserveOnObserver.run(ObservableObserveOn.java:255)

at io.reactivex.android.schedulers.HandlerScheduler MethodAndArgsCaller.run(Zygote.java:245)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

Caused by: java.lang.ArithmeticException: Rounding necessary

at java.math.BigDecimal.toBigIntegerExact(BigDecimal.java:2392)

at java.math.BigDecimal.valueExact(BigDecimal.java:2869)

at java.math.BigDecimal.intValueExact(BigDecimal.java:2454)

at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:107)

at com.alibaba.fastjson.parser.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:73)

at com.alibaba.fastjson.parser.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1012)

at com.alibaba.fastjson.parser.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:770)

at com.alibaba.fastjson.parser.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:118)

at com.alibaba.fastjson.parser.ListTypeFieldDeserializer.parseArray(ListTypeFieldDeserializer.java:214)

找了大佬,一针见血指出问题:边界出错;就是位缺塌数可能太多。网上找解决方法,有的是int 类型赋值了3.6这种float了,也会出现这种解析错误。

而我梁腔的主要是解析下面为double时造成

"lat":31.911295789937384,

"lng":118.81761768130724,

返回位数太多,应该是超出android 中的double能容纳的位数了;直接改为String ,橡扮衫完美解决!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12488541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存