无法在writeFile方法中传递对象

我想写入到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”:值,“结果”:值,“字段”:值}

如果你没有传递一个string或缓冲区到writeFile ,你传递的toString函数被调用。 在你的情况下,它返回"[object Object]"

你必须自己转换它:

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

我build议不要命名一个JavaScript对象variables“jsonObject”:它可能会在什么是对象和什么是某个JSON(即一个持有对象序列化的string)之间造成混淆。