如何console.log大对象?

the*_*cat 5 javascript object node.js console.log

我正试图看看对象包含的内容

随着console.log(obj)控制台从线切断,我不能看到整个结构.

然后我尝试将其写入文件

fs.writeFile('test', JSON.stringify(obj));
Run Code Online (Sandbox Code Playgroud)

但我得到一些关于循环引用的错误.

有没有其他方法来查看对象大声笑?该对象是来自nodejs websocket模块的"连接".文档非常差,我似乎无法找到保存IP地址的属性:(

Sci*_*ter 13

fs.writeFile('test', JSON.stringify(obj));
Run Code Online (Sandbox Code Playgroud)

但我得到一些关于循环引用的错误.

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

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

var util = require('util');
fs.writeFileSync('test.txt', util.inspect(obj));
Run Code Online (Sandbox Code Playgroud)

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

util.inspect(obj, { showHidden: true, depth: null })
Run Code Online (Sandbox Code Playgroud)


Oda*_*wan 5

使用 dir 方法。

console.dir(obj)
Run Code Online (Sandbox Code Playgroud)