对于嵌套的Object或Array
var obj = {
foo:
{
foo:
{
foo:
{
foo:
{
foo:
{
foo: 'foo'
}
}
}
}
}
};
console.log(obj);
util.debug(obj);
util.debug(util.inspect(obj));
Run Code Online (Sandbox Code Playgroud)
该console.log或util.debug+util.inspect
{ foo: { foo: { foo: [Object] } } }
DEBUG: [object Object]
DEBUG: { foo: { foo: { foo: [Object] } } }
Run Code Online (Sandbox Code Playgroud)
在一定程度上,它[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' } } } } } }
凉.这就是我要的!
Nit*_*ked 14
util.inspect()采用第二个options参数,您可以在其中指定depth.默认值为2.
http://nodejs.org/api/util.html#util_util_inspect_object_options
所以:
util = require('util');
var obj = { foo: { foo: { foo: { foo: { foo: { foo: 'foo' } } } } } };
console.log(util.inspect(obj, {depth:12}));
Run Code Online (Sandbox Code Playgroud)
...收益率:
{ foo: { foo: { foo: { foo: { foo: { foo: 'foo' } } } } } }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5699 次 |
| 最近记录: |