考慮這種情況:我有兩個複雜的jsons--一個具有完整的屬性列表,另一個理論上相同,但可能缺少一些值。我需要用第一部分的值覆蓋第一部分的值。替換類似jsons中的值
我該如何做到這一點?我試過這樣的:
function ObjectValues(data) {
var isArray = data instanceof Array;
for (var key in data) {
if (data.hasOwnProperty(key)) {
if (typeof (data[key]) == "object") {
if (!isArray) {
profileData[key] = data[key];
}
ObjectValues(data[key]);
} else if (!isArray) {
}
}
}
}
ObjectValues(data);
這個想法是通過部分json(數據)循環並覆蓋profileData中的相應值。這個函數可以遍歷整個結構(只要有一個對象在這個層次上啓動它本身),但我不知道如何使它覆蓋每個層次上的值,如profileData [key] = data [關鍵在不充分
編輯: 一個簡單的例子是:
Data = {
"activity": {
"online": [1,1,3,4,0,1,0,3,2],
}
},
"location": "Antarctica",
}
profileData = {
"activity": {
"online": [],
}
},
"location": "N/A",
}
現在,我會得到
profileData = {
"activity": {
"online": [],
}
},
"online": [1,1,3,4,0,1,0,3,2],
"location": "Antarctica",
}
正常工作的第一級,但隨後顯然只是將更深的鍵添加到根目錄(就像你會遇到的那樣) CT)。問題是檢索子文件中的關鍵路徑。
你現在得到的輸出是什麼,你的期望輸出是多少? –
舉例說明所需的輸入和輸出。 –