Для вложенного объекта или массива
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) реализует это? и есть ли какая-нибудь работа?
Спасибо.
EDIT: Я получил предложение
console.log(JSON.stringify(obj));
Результат
{"foo":{"foo":{"foo":{"foo":{"foo":{"foo":"foo"}}}}}}
Это вроде работает, но, очевидно, целое stringify
ed, и, вероятно, я не мог сделать это для вывода всех объектов при отладке. Не общий метод.
EDIT2:
решение:
console.log(util.inspect(obj,{ depth: null }));
выход:
{ foo: { foo: { foo: { foo: { foo: { foo: 'foo' } } } } } }
круто. Это то, что я хочу!