integer转double java_gson如何实现将Integer转换成Double

本文介绍了在Java中使用gson库时,如何处理Integer转换为Double的问题。当使用gson.fromJson将JSON字符串解析为Map时,数字值会默认转换为Double类型。为了避免在反序列化时出现不一致,可以通过自定义GsonBuilder的TypeAdapter来判断并处理Integer类型的Double值,确保序列化结果与原始JSON保持一致。
摘要由CSDN通过智能技术生成

gson如何实现将Integer转换成Double

发布时间:2020-11-11 15:59:35

来源:亿速云

阅读:132

作者:Leah

本篇文章为大家展示了gson如何实现将Integer转换成Double,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

首先javascript只有这些个类型:

1、Number 在JavaScript中的双精度浮点格式

2、String 双引号的反斜杠转义的Unicode

3、Boolean true 或 false

4、Array 值的有序序列

5、Value 它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等

6、Object 无序集合键值对

7、Whitespace 可以使用任何一对中的令牌

8、null empty

所以可以得出结论其实在javascript中20和20.0其实是相等的,都是number类型,即javascript中没有整数类型一说。

因此我们用gson.fromJson(msg, new TypeToken>() {}.getType())将json字符串msg

例如:

{"id":20,"name":"test"}转换成Map时,就会把数字类型的值都转换成了Double类型(此时map中key为“id”的值是一个Double类型,为20.0)

当我们再把这个Map用gson.toJson转换成json字符串时,奇葩的事情就发生了&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值