目前我有兩個JSON體: 1. globaljson 2. companyjson比較兩個JSON和JSON第一的Java返回唯一關鍵
globaljson:
"dS": {
"a": 5,
"b": false,
"c": 5,
"d": false,
"e": 1,
"f": 5,
"g": 33.528,
"h": false
}
公司JSON:
"dS": {
"a": 90
},
預計產量:
"dS": {
"a": 90,
"b": false,
"c": 5,
"d": false,
"e": 1,
"f": 5,
"g": 33.528,
"h": false
}
我試圖做到以下幾點:
Map<String, Object> map1 = mapper.readValue(companyjson, Map.class);
Map<String, Object> map2 = mapper.readValue(globaljson, Map.class);
Map<String, Object> merged = new HashMap<String, Object>(map1);
merged.putAll(map2);
但這返回當前使用傑克遜庫
"dS": {
"a": 90
},
即時消息,但無法找到,解決了我的要求的任何方法。我不想對我的密鑰進行硬編碼,因爲密鑰名稱可能在將來發生變化。
外JSON對象的關鍵是'dS'而不是像'「一個」等內的對象。因此,您正在替換'dS'的值。你明白嗎?這應該是非常明顯的。 – AKSW
不要看到任何錯誤。你可以嘗試convertvalue而不是readvalue方法。我假設你在合併之前驗證了map1和map2。 – surya