2014-04-01 55 views
1

我有一個對象(JAR),其中包含本(由執行console.log):問題與對象JSON轉換

{ _jar: { store: { idx: { localhost: { '/': { PHPSESSID: Cookie="PHPSESSID=pe1952pk023e7b6d7t9am3kse0; Path=/; hostOnly=true; aAge=18ms; cAge=97ms" } } } } } }

我試圖將其存儲到MongoDB實例這是確定的,但加載後它從那裏,它是一種畸形。這模擬它:

console.log(JSON.parse(JSON.stringify(jar)));

以上輸出這樣的:

{ _jar: { store: { idx: [Object] } } }

因此,所有的突然 'localhost' 的部分得到了消失在 '對象'?如何防止這一點?

回答

1

console.log醫生說:

如果第一串中都沒有發現格式元素然後 util.inspect對每個參數使用。

util.inspect醫生說:

返回對象的字符串表示,這對於 調試是有用的。

[...]

  • 深度 - 告訴檢查多少次,而格式化對象遞歸。這對於檢查大型複雜對象很有用。 默認爲2.爲了使遞歸無限地傳遞null。

即,console.log(jar)只打印前兩個級別,_jarstore,以及store字段被印刷在短格式。這就是爲什麼store.idx的內容被打印爲[Object]。要打印每個級別,請鍵入util.inspect(jar, { depth: null })

1

console.log格式化,不是JSON.parse問題。

console.log(jar)會給你相同的輸出。