您好,麻烦请问该怎么把Gson默认int和long型数据转换为double?

String jsonStr = {"UserId":1,"UserName":"张三","Key":12345678910} 
Gson gson=new Gson(); 
Map<String, Object> resultMap = gson.fromJson(jsonStr, new TypeToken<Map<String, Object>>(){}.getType() );

转换后 UserId=1.0,Key=1.2345678910
这个要肿么办,急!!!!!!
在线等
貌似long型数据默认还转换成16进制了
解析前的key:1362312484950

解析后的key=1.36231248495E12

这是可以直接运行的代码,各位大侠copy到机器上运行一下,看看是不是介个情况,给个回复,谢谢!
String jsonStr = "{\"UserId\":1,\"UserName\":\"张三\",\"Key\":12345678910}"; 
Gson gson = new Gson();
Map<String, Object> resultMap = gson.fromJson(jsonStr, new TypeToken<Map<String, Object>>(){}.getType() );
for (Iterator<String> it = resultMap.keySet().iterator(); it.hasNext();) {
String key = it.next();
System.out.println(key+":"+resultMap.get(key));
}

临摹微笑
浏览 485回答 2
2回答

慕丝7291255

直接定义一个你的这个用户信息的类吧,不要用Object来描述数据类型比如:class User{private long userId;private String username;private long key;......getters & setters}然后用gson.fromJson(jsonStr,User.class)就可以得到user对象了。很方便
打开App,查看更多内容
随时随地看视频慕课网APP