对象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)
仅打印前两个级别_jar
和store
,而store
的字段以短格式打印。 这就是为什么store.idx
的内容被打印为[Object]
。 要打印每个级别,请inpututil.inspect(jar, { depth: null })
。
那console.log
格式化,不是JSON.parse的问题。
console.log(jar)
会给你相同的输出。