JSON.stringify不会在输出中向对象添加新添加的属性,但是普通的console.log是优先修改的对象数据

时间:2019-03-28 22:04:22

标签: javascript json stringify

我正在尝试向现有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之前对象的输出:

enter image description here

输出字符串化

{"id":"5755","lastVisitTime":1553810142727.795,"title":"Ask a Question - Stack Overflow","typedCount":0,"url":"https://stackoverflow.com/questions/ask","visitCount":3}

Stringify输出不包括新添加到对象的属性,例如对象(visitedTimes,访问)。

0 个答案:

没有答案