问题复盘|在使用 gson 时,数字被自动转为 double 类型

在将 JsonObject 转换为 Map<String, Object> 时,Gson 默认将数字解析为 double 类型,导致数据精度丢失。通过查阅资料发现,该问题在 Gson 2.8.9 版本中已修复。升级 Gson 版本并设置数字类型转换策略,可以成功解决此问题。" 121505877,7380957,VxWorks Tornado开发环境配置详解,"['操作系统', '嵌入式开发', 'VxWorks', 'Tornado IDE']
摘要由CSDN通过智能技术生成

背景

在将一个 JsonObject 转成 Map<String, Object> 的时候,数字全部被转成了 double 类型,
如下所示,年龄从 2 变成了 2.0,身高正常显示 98.2,登记时间成了 1.694533284627E12

   /**
    * name=小红
    * record_time=1.694533284627E12
    * age=2.0
    * height=98.2
    */
    public static void main(String[] args) {
   
        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("name", "小红");
        jsonObject.addProperty("age", 2);
        jsonObject.addProperty("height",98.2);
        jsonObject.addProperty("record_time", System.currentTimeMillis());
        Map<String, Object> result = new Gson()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的小白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值