Скажем, у меня есть следующие 2 объекта json:
JSON A:
{
"Field A":"1",
"Field B":"2",
"Field D":"Something",
"Field E":"6"
}
JSON B:
{
"Field A":"1",
"Field B":"2",
"Field C":"3",
"Field D":"Different"
}
Пример функции: функция (jsonstringA, jsonstringB)
Пример (если JSON A и JSON B используются как параметры):
Возвращает новый объект JSON, содержащий:
{
"Field C":"3", // because function sees jsonstringB had no "Field C"
"Field D": "Different" // sees jsonstringB had a different value for "Field D"
}
Обратите внимание, что в качестве основы сравнения используется jsonstringA, поэтому функция возвращает только поля, отсутствующие и значения jsonStringB. Вот почему "Поле E" и его значение не возвращаются.
Каков наилучший способ, если возможно, создать функцию, которая возвращает объект json, содержащий измененные значения?
ЧТО Я ИСКЛЮЧАЮ: Я попытался сделать сравнение, вручную указав поля, которые я пытаюсь проверить, но я хотел бы иметь что-то, что требует от меня не жестко кодировать "поля", поскольку он очень неэффективен, и каждый раз, когда я добавляю новое поле в JSON B, мне нужно жестко закодировать в поле, которое я ищу... вот почему я ищу что-то меньшее от боли.