我正在尝试在json文件中推送名称。我正在尝试做类似的事情:
socket.on('create json', function(data){
var data = JSON.stringify(Data, null, 2);
fs.writeFile('participants.json', data)
console.log(data);
});
这只输出我发送的数据并导致:
{
"type": "Buffer",
"data": [34,69,120,97,109,112,108,101,32,110,97,109,101, 34 ]
}
当我正在编写文件时,它会删除所有内容并将其放入。 我正在寻找一种写作方式:
{
"names":["name1", "name2", "name3"]
}
关于如何修复和写这个的任何想法?
非常感谢帮助!
答案 0 :(得分:1)
你必须再次读取你的文件,解析JSON,将新结果附加到数组,将其转换回字符串并再次保存。
var fs = require('fs')
fs.readFile('participants.json', function (err, data) {
var json = JSON.parse(data);
json.name = ["name1", "name2", "name3"];
fs.writeFile("results.json", JSON.stringify(json))
})