Есть ли способ ОБНОВИТЬ значения, основанные на условиях ГДЕ между двумя JSON файлами - PullRequest
0 голосов
/ 14 февраля 2020

Скажите, у меня есть две версии одних и тех же данных JSON. Каждый объект имеет уникальный идентификатор ключ / пара. Скажем, в одной версии определенный ключ имеет null в качестве значения, в то время как другая версия имеет соответствующие значения для этого ключа.

Можем ли мы сопоставить объекты между двумя файлами JSON на основе их уникального значения идентификатора и скопировать значения определенного ключа? Я не хочу возиться с остальными полями объекта JSON.

Пример:

версия 1:

[
  {
    "contentId": "ID-02",
    "title": "Attendance",
    "desp": "Daily Attendance",
    "contentType": "service",
    "url": "ATTENDANCE",
    "contentCategory": "Essentials",
    "employeeId": null,
    "imageUrl": null,
    "publishedCourseFlag": "true"
  },
  {
    "contentId": "ID-04",
    "title": "Regularise History",
    "desp": "Regularise History",
    "contentType": "service",
    "url": "REGULARISE_HISTORY",
    "contentCategory": "Non-Essentials",
    "employeeId": null,
    "imageUrl": null,
    "publishedCourseFlag": "false"
  }
]

версия 2:

[
  {
    "contentId": "ID-02",
    "title": "Attendance",
    "desp": "Daily Attendance",
    "contentType": "service",
    "url": "ATTENDANCE",
    "contentCategory": null,
    "employeeId": null,
    "imageUrl": null
  },
  {
    "contentId": "ID-04",
    "title": "Regularise History",
    "desp": "Regularise History",
    "contentType": "service",
    "url": "REGULARISE_HISTORY",
    "contentCategory": null,
    "employeeId": null,
    "imageUrl": null,
    "publishedCourseFlag": "false"
  }
]

Здесь v1 имеет значение contentCategory, а v2 имеет значение null. Я хочу скопировать соответствующие значения из v1 в v2 на основе их значений contentId. Есть ли простой способ сделать это, кроме копирования / вставки вручную? Мне бы хотелось решение для сценариев, которое я могу изменить в соответствии с моими потребностями в подобных ситуациях. Или решение, подобное простому запросу, было бы еще лучше.

Кроме того, возможно ли добавить определенный отсутствующий ключ / значение из версии 1 в версию 2? Как обновить, если есть еще Вставить? Я надеюсь на многое, я думаю. Абсолютно новый для JSON.

...