对象JSON转换的问题

对象JSON转换的问题,json,node.js,Json,Node.js,我有一个对象(jar),它包含以下内容(通过console.log): 我试图将其存储到MongoDB实例,这是正常的,但从那里加载后,它的格式有点不正确。这模拟了它: console.log(JSON.parse(JSON.stringify(jar))); 上述结果如下: { _jar: { store: { idx: [Object] } } } 那么“localhost”部分突然消失在“Object”中了?如何防止这种情况?那是console.log格式问题,而不是JSON.parse问

我有一个对象(jar),它包含以下内容(通过console.log):

我试图将其存储到MongoDB实例,这是正常的,但从那里加载后,它的格式有点不正确。这模拟了它:

console.log(JSON.parse(JSON.stringify(jar)));
上述结果如下:

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

那么“localhost”部分突然消失在“Object”中了?如何防止这种情况?

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

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

doc说:

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

医生说:

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

[……]

  • 深度-告诉检查格式化对象时要递归多少次。这对于检查大型复杂对象非常有用。 默认值为2。要使其无限递归,请传递null
也就是说,
console.log(jar)
只打印前两个级别,
\u jar
store
,并且
store
的字段以短格式打印。这就是为什么
store.idx
的内容被打印为
[Object]
。要打印每个级别,请键入
util.inspect(jar,{depth:null})

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