无法在writeFile方法中传递对象

时间:2013-05-14 08:38:39

标签: javascript json node.js fs

我想写入json文件。我想写一个我正在传递的对象 这是代码

path.exists(logfile_name, function(exists) {
    if (!exists) {
         var jsonObject={ "req": req,
                     "result": result ,
                      "fields": fields } ;

            fs.writeFile(logfile_name ,jsonObject,function(err){
            if(err){
                console.log("error is: " + err)
            }
            else
                console.log("no error found");

             });
    }

});

在logfile_name中写入       [对象] 但我希望它像这样写 { “req”:价值, “结果”:价值, “fields”:value}

1 个答案:

答案 0 :(得分:4)

如果您没有将字符串或缓冲区传递给writeFile,则会调用您传递的toString函数。在您的情况下,它返回"[object Object]"

你必须自己转换它:

fs.writeFile(logfile_name, JSON.stringify(jsonObject), function(err){

我建议不要命名一个JavaScript对象变量“jsonObject”:它可能会在什么是对象和什么是JSON(即一个持有对象序列化的字符串)之间产生混淆。