我有两个这样的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 差异和合并修补来实现此操作。我不想遍历每个子节点并手动检查。
我也有和你类似的问题。我的解决方案是使用 JSON 补丁从不同的 JSON 制作补丁,然后发送补丁以应用于另一个系统。在 http://jsonpatch.com/查找更多信息。它们提供具有每种编程语言库的存储库。
我为这些场景创建了 diff 和合并的轻量级 api。开源: https://github.com/ryanshane/JsonDiffMerge
对于数组,它们没有主键,因此除非您将字符串数组更改为对象,例如 [{ id: "uid string", value: "3" }] 而不是 ["3"(,否则您最终会得到重复的条目。