POST 请求处理程序调用fs.writeFyleSync方法,该方法将请求中的数据写入userdata.json文件。但是除了这个数据之外,前面还写着,"undefined":{}
虽然这是不应该的。如何修复它?
app.use((req, res, next) => {
let reqBodyUser = req.body.user
let reqJSON = {
[req.body.name]: req.body.url
}
const json = fs.readFileSync('userdata.json');
const parsedJson = JSON.parse(json);
parsedJson[reqBodyUser] = reqJSON
const data = JSON.stringify(parsedJson);
console.log(reqJSON)
fs.writeFileSync('userdata.json', data, 'utf-8', function(error){
if(error) return console.log(error);
console.log("Запись файла завершена");
});
next();
});
我得到的输出是一个 userdata.json 文件,如下所示:
{
"undefined":{},
"test":
{
"test":"test"
}
}
注意:当使用不同的输入多次调用一个方法时, undefined 在开头仍然单独存在,但是如果将其从文件中删除并再次发出请求,则该行会再次出现