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"
示例函数:function (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 的值。这就是不返回“Field E”及其值的原因。
如果可能想出一个返回包含已更改值的 json 对象的函数,最好的方法是什么?
我尝试过什么:我尝试通过手动指定我要检查的字段来进行比较,但我想要一些东西,要求我不要对“字段”进行硬编码,因为它非常低效,每次我添加JSON B 的一个新字段,我必须在我正在寻找的字段中进行硬编码……这就是为什么我正在寻找不那么痛苦的东西。
原文由 Rolando 发布,翻译遵循 CC BY-SA 4.0 许可协议