为了尽可能简洁,我试图弄清楚是否有一种方法可以让控制台使用 console.log() 显示对象的完整内容。我正在使用通过管道连接到 Sublime Text 3 中的控制台的 node.js。运行代码本身没有问题,只是显示输出。
我有一个像这样创建的链接列表对象:
{ value: 1, next: { value: 2, next: { value: 3, next: { value: 4, next: { value: 5, next: null}}}}}
当它输出到控制台时,它看起来类似于以下内容:
{ value: 1, next:
{ value: 2, next: { value: 3, next: [Object]}}
简而言之,整个对象不可见或无法以任何方式扩展。有什么方法可以强制控制台更加详细并显示整个对象?
最佳答案
一种方法是将 JSON 转换为字符串。
因此,如果您的文件内容是在变量 x 中获取的。你可以这样做:
console.log(JSON.stringify(x));
这会将您的 JSON 数据转换为可以轻松打印到控制台的字符串。
这是另一种解决方法:
console.log(require('util').inspect(x, {showHidden: false, depth: null}));
问题是 console.log 是用来打印字符串的,而不是对象。因此,它会自动尝试将所有内容转换为字符串,并且在此过程中(因为自动转换不是将对象转换为字符串的正确方法)一些数据会丢失。
您可以使用第二种解决方法,但我强烈建议您坚持使用第一种方法,因为这是更好的方法。
关于javascript - Sublime Text 中的 node.js 输出中的输出被 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018497/