ObjectMapper readerForUpdating替换数组

时间:2019-06-27 14:38:29

标签: java jackson

我有两个不同的Json文件。

文件A:

{
  "label": "A",
  "links": [
    {
      "url": "urla"
    }
  ]
}

文件B:

{
  "links": [
    {
      "url": "urlb"
    }
  ]
}

现在我想用B的内容更新A以得到以下结果Json:

{
  "label": "A",
  "links": [
    {
      "url": "urlb"
    }
  ]
}

也就是说,links数组应完全替换为B的内容。 但是相反,它合并了两个数组:

{
  "label": "A",
  "links": [
    {
      "url": "urla",
      "url": "urlb"
    }
  ]
}

这是不希望的。 合并文件的代码:

JsonNode A = ... // resolved from a service call
JsonNode B = ... // resolved from a service call
ObjectMapper mapper = new ObjectMapper();
result = mapper.readerForUpdating(A).readValue(B);

我还尝试设置mapper.setDefaultMergeable(false);,但没有帮助。

我使用com.fasterxml.jackson.core:jackson-core:jar:2.9.8

有人可以帮我吗?

0 个答案:

没有答案