是否有更好/更简单的方法来更新Java中的json文件?

时间:2017-04-24 08:29:45

标签: java json jackson

说,我有一个如下所示的json文件:

[{
  "obj1_key1":"aa",
  "obj1_array":[{"e1":"11"},{"e2":"22"}]
},
{
  "obj2_key1":"cc",
  "obj2_key2":"dd"
}]

现在我想将文件更新为以下内容:

[{
  "obj1_key1":"aa",
  "obj1_array":[{"e1":"11"},{"e2":"22"},{"e3":"333"}]
},
{
  "obj2_key1":"cc",
  "obj2_key2":"dd"
}]

我尝试使用ObjectMapper解析文件,如

JsonNode jsonFile = new ObjectMapper().readTree(new File("file.json");

但是我需要找到obj1_array并附加一个json对象,然后将json对象写回文件。我不认为我将json文件加载为JsonNode的方式是一种简单的方法,因为我应该在Json / JsonArray之间来回转换它。所以我想知道有没有更简单的方法来完成这项工作?真的很感激。

1 个答案:

答案 0 :(得分:0)

如果它只是一次性的情况,你可以使用你喜欢的机制,但如果它经常使用,我宁愿

  1. 将JSON转换为POJO(使用某些解析器,例如Jackson)
  2. 更新必填字段
  3. 返回Json对象。