我正在使用Jackson将POJO写入Json文件。
稍后,我需要更新对象中的一个属性并更新Json。一种方法是再次重新创建整个json文件,但在我的情况下,我有一个对象列表,我需要更改一个对象。
有一种简单的方法吗?
//Writing to json file
try {
mapper.writerWithDefaultPrettyPrinter().writeValue(file, pipelinesFromFile);
} catch (JsonGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Reading back again
Pipeline[] pipelinesFromFile = null;
try {
pipelinesFromFile = mapper.readValue(file, Pipeline[].class);
} catch (JsonParseException e) {
e.printStackTrace();
pipelinesFromFile = new Pipeline[0];
} catch (JsonMappingException e) {
e.printStackTrace();
pipelinesFromFile = new Pipeline[0];
} catch (IOException e) {
e.printStackTrace();
pipelinesFromFile = new Pipeline[0];
}
//Making changes to one of the object
pipelinesFromFile[0].someProp = "updated value"
现在下一步应该是什么?