对象JSON转换的问题

我有一个对象(jar),它包含这个(通过console.log):

{ _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] } } } 

那么所有突如其来的“本地主机”部分都消失在“对象”中了? 如何防止这一点?

console.log文件说:

如果在第一个string中找不到格式化元素,则在每个参数上使用util.inspect。

util.inspect文档说:

返回对象的string表示forms,这对debugging很有用。

[…]

  • 深度 – 告诉检查格式化对象时多less次recursion。 这对检查大型复杂对象很有用。 默认是2.为了使recursion无限地传递null。

也就是说, console.log(jar)仅打印前两个级别_jarstore ,而store的字段以短格式打印。 这就是为什么store.idx的内容被打印为[Object] 。 要打印每个级别,请inpututil.inspect(jar, { depth: null })

console.log格式化,不是JSON.parse的问题。

console.log(jar)会给你相同的输出。