说我有以下2个JSON对象:Javascript 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乙用作参数):
返回一个新的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作为比较的基础ison,所以函数只返回缺少的字段和jsonStringB的值。这就是为什么“字段E”及其价值没有被返回的原因。
如果可能提出一个返回包含已更改值的json对象的函数,那么最好的方法是什么?
我试过的是什么: 我试过通过手动指定我试图检查的字段进行比较,但我希望有一些要求我不要硬编码“字段”,因为它是非常效率低下,每次我向JSON B添加一个新字段时,我都必须在我正在寻找的字段中进行硬编码......这就是为什么我要寻找一些不那么痛苦的原因。
http://tlrobinson.net/projects/javascript-fun/jsondiff/ – Phrogz 2012-04-27 21:08:42
您可以根据代码东西这样的回答:http://stackoverflow.com/a/1144249/562906 – sinelaw 2012-04-27 21:10:40