对象JSON转换的问题

时间:2014-04-01 08:23:32

标签: json node.js

我有一个对象(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] } } }

所以所有突然的本地主人'部分消失在'对象'?如何防止这种情况?

2 个答案:

答案 0 :(得分:1)

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

console.log(jar)将为您提供相同的输出。

答案 1 :(得分:1)

console.log doc说:

  

如果在第一个字符串中找不到格式化元素,那么   util.inspect用于每个参数。

util.inspect doc说:

  

返回对象的字符串表示形式,这对于有用   调试。

     

[...]

     
      
  • depth - 告诉我们在格式化对象时检查递归的次数。这对于检查大型复杂对象很有用。   默认为2.要使其无限递归,请传递null。
  •   

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