JSON序列化导致Long类型被搞成Integer的坑及解决
2022-04-16 16:34:51 来源:易采站长站 作者:
目录
jsON序列化导致Long类型被搞成Integer的坑上代码方案思考JSON格式转int/long报错Gson转换导致int转换成double的问题JSON序列化导致Long类型被搞成Integer的坑
最近遇到一个错误,就是某个字段肯定是Long类型的,通过Map<String,Object>方式转成JSON字符串,然后存到了DB的某个字段里。
为了Json存储字,然后反序列化为Map(不是自定义的常规对象)
比如某二方为了提供通用的接口能力,将Map<String,Object>的数据通过JSON序列化方式缓存然后JSON反序列化拿到Map。
等情况。
用的时候就通过Key获取对象之后直接强转Long,然后类型转换异常。
java.lang.ClassCastException: java.lang.Integer canle的问题
使用情景:后端返回的json字符串,通过gson处理后,原本是int类型,现在获取到的是double类型的。
解决:
int i = ((Number)fromJson.get("int")).intValue();int i = Math.round(Double.parseDouble(fromJson.get("int").toString));以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
暂时禁止评论














闽公网安备 35020302000061号