首页 > 解决方案 > 查找 JSON 数据之间的差异并更新差异

问题描述

我被困了几个小时,我需要你的帮助。

要求是这样的。

有两个 JSON 对象,其中一个始终是source我们需要的所有数据。第二个
JSON 对象不包含来自source

要求:

这是源 JSON 对象。

{
  "lang": "en",
  "global": {
    "clear_search": "Clear Search",
    "filter": "Filter",
    "projects": {
        "sort_projects": "Sort projects by"
    },
  },
}

这是第二个对象(注意:第一个对象总是包含更多数据):

{
  "lang": "de",
  "global": {
    "clear_search": "Suche löschen",
    "filter": "Filter",
  },
}

我需要:

{
  "lang": "de",
  "global": {
    "clear_search": "Suche löschen",
    "filter": "Filter",
    "projects": {
        "sort_projects": "Sort projects by"
    },
  },
}

感谢您检查这一点,我恳请您不要发布带有变量名称的代码,例如xor _

标签: node.jsjsonalgorithmsortingdifferentiation

解决方案


您可以以树的形式表示 json。树中的每个节点都将代表一个 json 键。两棵树的根并行 dfs 将帮助您标记两棵树共有的键。未标记的键将有所不同。

您可以扩展此 dfs 遍历以进一步使用缺少的键填充第二个 json。


推荐阅读