如何console.log大对象?
How to console.log large object?
我正在尝试查看对象包含的内容
有了console.log(obj)
,控制台的线条就被切断了,我看不到整个结构。
然后我尝试将其写入文件
fs.writeFile('test', JSON.stringify(obj));
但是我得到一些关于循环引用的错误。
有没有其他方法可以查看对象哈哈?该对象是来自 nodejs websocket 模块的 "connection"。文档很差,我似乎找不到包含 IP 地址的 属性 :(
使用 dir 方法。
console.dir(obj)
我相信你可以使用 dir 方法
console.dir(obj)
不客气;)
我以前从未使用过 console.dir
,这很可能是正确的方法。然而,我一直做的只是将我想看的东西分配给一个全局变量,然后直接在控制台里玩。
像这样:
var x;
function xyz(){
// Code
x = obj;
}
然后,直接在控制台中,如果您键入 x,在 xyz 具有 运行 之后,您的对象就在那里,并且可以使用它的副本,包括查看所有属性的能力,并修改它。
fs.writeFile('test', JSON.stringify(obj));
But I get some error about circular references.
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 })
我正在尝试查看对象包含的内容
有了console.log(obj)
,控制台的线条就被切断了,我看不到整个结构。
然后我尝试将其写入文件
fs.writeFile('test', JSON.stringify(obj));
但是我得到一些关于循环引用的错误。
有没有其他方法可以查看对象哈哈?该对象是来自 nodejs websocket 模块的 "connection"。文档很差,我似乎找不到包含 IP 地址的 属性 :(
使用 dir 方法。
console.dir(obj)
我相信你可以使用 dir 方法
console.dir(obj)
不客气;)
我以前从未使用过 console.dir
,这很可能是正确的方法。然而,我一直做的只是将我想看的东西分配给一个全局变量,然后直接在控制台里玩。
像这样:
var x;
function xyz(){
// Code
x = obj;
}
然后,直接在控制台中,如果您键入 x,在 xyz 具有 运行 之后,您的对象就在那里,并且可以使用它的副本,包括查看所有属性的能力,并修改它。
fs.writeFile('test', JSON.stringify(obj));
But I get some error about circular references.
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 })