說我有以下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