如何在Node.js中loggingJSON对象的内容?

是否有可能在Node.js中打印对象内容,例如方法和属性?

此刻我试图打印会话对象,并得到以下内容:

console.log("Session:" + session); > Session:[object Object] 

也许以类似的方式在PHP中使用print_r(array),或者在Java中使用.toString。

试试这个:

 console.log("Session: %j", session); 

如果该对象可以转换成JSON,那将起作用。

 function prettyJSON(obj) { console.log(JSON.stringify(obj, null, 2)); } // obj -> value to convert to a JSON string // null -> (do nothing) // 2 -> 2 spaces per indent level 

JSON.stringify在MDN上

要输出更类似于原始的console.log(obj)我通常使用console.log('Status: ' + util.inspect(obj)) (JSON略有不同)。

这将适用于任何对象:

  var util = require("util"); console.log(util.inspect(myObject, {showHidden: false, depth: null})); 

console.dir()是最直接的方法。