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;
}
}