javascript - Sublime Text 中的 node.js 输出中的输出被 chop

标签 javascript node.js console sublimetext3

为了尽可能简洁,我试图弄清楚是否有一种方法可以让控制台使用 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/

相关文章:

node.js - 如何验证 Node.js 中的 Cluster 是否正常工作?

Node.js:如何从模块中获取需要函数的文件名?

javascript - 在 Javascript 中定义控制台

javascript - 下拉菜单不在点击事件中切换

javascript - 不能将 @Res() 与 FilesInterceptor() 一起使用

javascript - 从 popup.js 访问 DOM | Chrome 扩展程序

javascript - Jquery,清除/清空 tbody 元素的所有内容?

events - 有 connect.static 的事件吗?

javascript - express3-handlebars 和 18next-node - 基于页面的国际化?

c - 在有或没有 ncurses 的情况下,如何修改 linux 控制台中的键盘重复延迟