【发布时间】:2014-02-03 10:09:07
【问题描述】:
对于嵌套对象或数组
var obj = {
foo:
{
foo:
{
foo:
{
foo:
{
foo:
{
foo: 'foo'
}
}
}
}
}
};
console.log(obj);
util.debug(obj);
util.debug(util.inspect(obj));
console.log 或 util.debug + util.inspect
{ foo: { foo: { foo: [Object] } } }
DEBUG: [object Object]
DEBUG: { foo: { foo: { foo: [Object] } } }
在一定深度下,它只显示[Object],没有更多细节。
这在调试时总是很烦人,因为我无法调查实际值。
为什么node(或V8)会这样实现?有什么解决方法吗?
谢谢。
编辑: 我收到了一个建议
console.log(JSON.stringify(obj));
结果
{"foo":{"foo":{"foo":{"foo":{"foo":{"foo":"foo"}}}}}}
它有点工作,但显然整个是stringifyed,可能我无法对调试时的所有对象输出执行此操作。不是通用方法。
EDIT2:
解决方案:
console.log(util.inspect(obj,{ depth: null }));
输出:
{ foo: { foo: { foo: { foo: { foo: { foo: 'foo' } } } } } }
酷。这就是我想要的!
【问题讨论】:
-
你试过 console.log(JSON.stringify(obj)) 吗?
-
谢谢,我编辑了我的问题。请检查一下。
标签: javascript node.js