如何console.log大对象?

时间:2015-01-26 17:02:20

标签: javascript node.js object console.log

我正在尝试查看对象包含的内容

使用console.log(obj)控制台切断线条,我看不到整个结构。

然后我尝试将其写入文件

fs.writeFile('test', JSON.stringify(obj));

但是我对循环引用有一些错误。

有没有其他方法可以查看对象大声笑?该对象是来自nodejs websocket模块的“连接”。文档非常差,我似乎找不到拥有IP地址的属性:(

4 个答案:

答案 0 :(得分:12)

fs.writeFile('test', JSON.stringify(obj));
     

但是我对循环引用有一些错误。

这就是JSON所发生的事情。 JSON还忽略函数,正则表达式,日期等。

您可以使用util.inspect,这是Node的console.log()在内部使用来获取整个对象,然后可以将其写入文件:

var util = require('util');
fs.writeFileSync('test.txt', util.inspect(obj));

如果你想要无限深度和隐藏属性:

util.inspect(obj, { showHidden: true, depth: null })

答案 1 :(得分:4)

使用dir方法。

console.dir(obj)

答案 2 :(得分:1)

你可以使用我相信的方法

    console.dir(obj)

欢迎你;)

答案 3 :(得分:0)

我之前从未使用console.dir,这可能是正确的方法。但是,我一直在做的只是将我想看的内容分配给一个全局变量,然后直接在控制台中使用它。

这样的事情:

var x;
function xyz(){
    // Code
    x = obj;
}

然后,直接在控制台中,如果你键入x,在xyz运行之后,你就有了你的对象,并且可以使用它的副本,包括查看所有属性并修改它的能力。