我正在尝试向现有JSON对象添加一些新属性,并对该对象进行字符串化以将其保存在文件中。通过打印修改后的数据,我确认该对象已被修改或初始化。
但是在应用JSON.stringify之后,输出不包括新添加的属性。
function(historyItems) {
let items = historyItems;
let len = items.length;
for(let i=0; i < len; i++){
let item = historyItems[i];
var visit;
chrome.history.getVisits({url: item.url}, function(url){
visit = url;
let leng = visit.length;
item.visitedTimes = leng;
item.visit = visit[leng-1];
});
}
saveData(historyItems);
function saveData(history) {
if(typeof history === "object"){
console.log(history[0])
var data1 = JSON.stringify(history[0]);
console.log(data1);
}
}
这是在应用stringify之前对象的输出:
输出字符串化
{"id":"5755","lastVisitTime":1553810142727.795,"title":"Ask a Question - Stack Overflow","typedCount":0,"url":"https://stackoverflow.com/questions/ask","visitCount":3}
Stringify输出不包括新添加到对象的属性,例如对象(visitedTimes,访问)。