2

我有两个这样的json文件:

json1

     {
    "plans": {
      "buildings": [
        {
          "floors": ["1" "2" "3" ]
        },
        {
          "floors": ["1"]
        }
      ]
  }
}

json 2

 { "plans": {
          "buildings": [
            {
              "floors": ["3" "5" "6" ]
            },
            {
              "floors": []
            }
          ]
      }
    }

合并联合后需要的 json

 {
    "plans": {
      "buildings": [
        {
          "floors": ["1","2","3","5","6" ]
        },
        {
          "floors": ["1"]
        }
      ]
  }
}

如何通过使用可用工具获取 json diff 和合并修补来实现此操作。我不想遍历每个子节点并手动检查。

4

2 回答 2

0

我也有和你一样的问题。我的解决方案是使用 JSON 补丁从不同的 JSON 制作补丁,然后发送补丁以应用于另一个系统。在http://jsonpatch.com/上查找更多信息。他们提供存储库,其中包含每种编程语言的库。

于 2018-10-21T09:58:06.743 回答
0

我为这些场景创建了一个用于差异和合并的轻量级 API。开源:https ://github.com/ryanshane/JsonDiffMerge

对于数组,它们没有主键,因此您最终会得到重复的条目,除非您将字符串数组更改为对象,例如 [{ id: "uid string", value: "3" }] 而不是 [" 3"]。

于 2021-12-27T01:03:20.240 回答