假设我有以下 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"
}
示例函数: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 的值。这就是为什么不返回“字段 E”及其值的原因。
如果可能想出一个返回包含已更改值的 json 对象的函数,最好的方法是什么?
我尝试了什么:我尝试通过手动指定我要检查的字段来进行比较,但我想要一些要求我不要硬编码“字段”的东西,因为它效率很低而且每次我添加JSON B 的一个新字段,我必须在我正在寻找的字段中进行硬编码......这就是为什么我正在寻找不那么痛苦的东西。