为什么Gson将整数解析为双精度值?
一个复杂的json字符串,我想把它转换为map,我有一个问题。
请看这个简单的测试:
public class Test {
@SuppressWarnings("serial")
public static void main(String[] args) {
Map<String, Object> hashMap = new HashMap<String, Object>();
hashMap.put("data", "{\"rowNum\":0,\"colNum\":2,\"text\":\"math\"}");
Map<String,Object> dataMap = JsonUtil.getGson().fromJson(
hashMap.get("data").toString(),new TypeToken<Map<String,Object>>() {}.getType());
System.out.println(dataMap.toString());
}
}
结果:
控制台打印:
Int转换为Double;
为什么gson会更改类型,我该如何修复它?{rowNum=0.0, colNum=2.0, text=math}