输出在Sublime Text中的node.js输出中被截断

为了尽可能简洁,我试图弄清楚是否有一种方法允许控制台使用console.log()显示对象的完整内容。 我在Sublime Text 3中使用了传递到控制台的node.js。我没有任何问题运行代码本身,只是显示输出。

我有一个链接列表对象,我创build像这样:

{ 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转换成一个string。

所以,如果你的文件内容被提取到variablesx中。 你可以做:

 console.log(JSON.stringify(x)); 

这会将您的JSON数据转换为可以轻松打印到控制台的string。

这是另一个解决方法:

 console.log(require('util').inspect(x, {showHidden: false, depth: null})); 

事情是,console.log是打印string,而不是对象。 因此,它会自动尝试将所有内容都转换为string,并且在进程中(因为自动转换不是将对象转换为string的正确方式),因此某些数据将丢失。

你可以使用第二个解决方法,但是我强烈build议你坚持第一个,因为这是更好的方法。