gson如何实现将Integer转换成Double-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联主要从事成都做网站、成都网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务泾川,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

本篇文章为大家展示了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字符串时,奇葩的事情就发生了,不再和我们最开始传进来的json字符串一致了,变成了{"id":20.0,"name":"test"}

想让它们一致,可以这样创建gson对象:

   Gson gson = new GsonBuilder().
        registerTypeAdapter(Double.class, new JsonSerializer() {

          @Override
          public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) {
            if (src == src.longValue())
              return new JsonPrimitive(src.longValue());
            return new JsonPrimitive(src);
          }
        }).create();

当前名称:gson如何实现将Integer转换成Double-创新互联
转载来于:http://hxwzsj.com/article/dhhesj.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 定制网站设计 定制网站建设 成都网站建设 营销网站建设 成都网站设计 成都网站制作 营销型网站建设 成都网站建设 网站建设 H5网站制作 成都网站制作 网站制作 网站设计 企业网站建设 成都商城网站建设 成都营销网站建设 网站建设费用 梓潼网站设计 成都企业网站建设 定制网站设计 四川成都网站设计 响应式网站设计