解决gson将Integer默认转换成Double的问题
来源:互联网 发布:淘宝3c证书 编辑:程序博客网 时间:2024/06/07 17:24
首先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<Map<String, Object>>() {}.getType())将json字符串msg例如:{"id":20,"name":"test"}转换成Map<String,Object>时,就会把数字类型的值都转换成了Double类型(此时map中key为“id”的值是一个Double类型,为20.0)
当我们再把这个Map用gson.toJson转换成json字符串时,奇葩的事情就发生了,不再和我们最开始传进来的json字符串一致了,变成了{"id":20.0,"name":"test"}
想让它们一致,可以这样创建gson对象:
即如果是Double类型的,判断一下它和它的longValue是否相等,如果相等则说明小数位是补了一个".0",那么我们就返回src.longValue,否则直接返回Double src。
阅读全文
0 0
- 解决gson将Integer默认转换成Double的问题
- 解决gson将Integer默认转换成Double的问题
- GSON封装(解决数字转成double问题)
- Gson将字符串转map时,int默认为double类型
- Gson将字符串转map时,int、long默认为double类型
- 如何将Map转换成Gson json
- gson ,将json转换成Map
- 解决Gson 处理Map将整型处理为浮点型的问题
- Gson 设定固定的日期格式来生成Gson-------Gson 可以将某个对象转换成json,也可将json转换成对象
- FileUpload获取上传文件的大小,将其转换为double类型出现了问题
- gson int long自动转换为double
- 解决Gson解析数据用map接收时int自动转化为double问题
- 解决Gson解析Date数据格式的问题
- java 的long转换double问题
- double和float转换的问题
- gson日期转换问题
- gson转换问题Date
- 解决double的精度问题-BigDecimal
- Linux下每天定时备份mysql数据库并删除7天前的备份文件
- 简单几步实现用Web客户端来管理SqlServer2008数据库
- js深复制浅复制
- 微信小程序swiper使用注意
- angularJs中的service服务
- 解决gson将Integer默认转换成Double的问题
- 微信支付客户端实现流程
- kubernetes1.5.2部署集群
- 移动端常见的高度问题的解析
- 7 975EE与i7980XE两种CPU的峰值计算能力(每秒多少次浮点运
- HBuilder在线打包iOS图文介绍
- VMware Fusion DHCP方式下如何指定虚拟机IP地址
- 通过ajax获取easydropdown数据
- linphone源码下载及下载失败解决方法