gson解析长整形数问题

问题描述:

  服务器端返回一个json字符串,里面有一个长整形(如1536061697),当采用Gson的fromJson函数解析之后,却变成了科学记数法形式(1.536061697E9)。

  原始代码:

String json = "{\"time\":1536061697,\"name\":\"test\"}";
Map<String, Object> map = gson.fromJson(json, Map.class);
String timeStr = map.get("time").toString();

解决方案:  

String json = "{\"time\":1536061697,\"name\":\"test\"}";
Map<String, String> map= gson.fromJson(json, new TypeToken<Map<String, String>>(){}.getType());
String timeStr = map.get("time");

花絮:

1.初期遇到此问题时,我判断时Gson处理长整形数的转化存在问题,因为曾使用过FastJson,所以直接换用了FastJson,采用了JSON.parseObject(map, Map.class)函数进行解析。

2.不过后来其他同事提出,这种方式不好,因为一个小问题,引入一个库,会导致包增大,方法数增多,所以就采用了上面这种方案。

 

安卓开发技术分享:https://blog.csdn.net/yinxing2008/article/details/84555061

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值