1
讓我們考慮以下對象:Java的開始閱讀的Json給定的起始對象
public class MyObject{
int a, b;
public MyObject(){
setA(1);
setB(1);
}
// getters and setters
}
我有以下字符串
{"a":4}
當我用傑克遜2以創建一個新的對象我有
a = 4
和b = 1
(我假設它是用空構造函數創建的對象,其中setter用於修改Jackson 2在字符串中讀取的字段)。
現在,我有一個myObject的實例a = 1
和b = 2
(與我可以用空的構造函數不同)。 如何使用字符串將對象「完成」到a = 4
和b = 2
? 換句話說:我如何使用不完整的json字符串替換已有對象中的字段值,該對象與用空構造函數創建的對象不同?
編輯:從答案可能的解決方案。
public static Object updateObject(String fileName, Object oldValue){
try {
return new ObjectMapper().readerForUpdating(oldValue).readValue(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
return oldValue;
}
}