如何在Node.JS中记录JSON对象的内容?

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

目前,我正在尝试打印会话对象并获取以下内容:

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

可能以类似的方式在PHP中打印_R(数组),或者在Java中使用.ToString.

172432 次浏览

试试这个:

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

如果对象可以转换为JSON,那就可以了。

为了使输出更类似于原始console.log(obj),我通常使用console.log('Status: ' + util.inspect(obj))(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

MDN上的JSON.stringify

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

这将适用于任何对象:

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

运行:节点app.JS>output.txt

这将适用于NodeJS控制台中用于输出的大多数对象

var util = require('util')
function print (data){
console.log(util.inspect(data,true,12,true))
  

}


print({name : "Your name" ,age : "Your age"})

__,ABC__0加上深度参数就可以了。这将打印任意深度的JSON对象。深度:NULL表示打印每个级别。

console.dir(someObject, { depth: null })