复杂的JSON字符串,我想将它转化成地图,
我有一个问题。
请看看这个简单的测试:Java - 为什么Gson将整数解析为双精度?
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());
}
}
结果:
控制台打印:{rowNum=0.0, colNum=2.0, text=math}
诠释转化为双;
为什么GSON改变类型,我该如何解决呢?
2是一个数字,双覆盖int值,所以它是一件好事,它这样做。 (如果您将字段看作整数,那么它将不会更新) – nafas
JSON只有一个数字类型,它不会影响double和int值。 –