複雜的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值。 –