如何在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()是最直接的方法。