用Node.js写JSON

时间:2017-10-17 10:10:33

标签: javascript json node.js socket.io

我正在尝试在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"]
}

关于如何修复和写这个的任何想法?

非常感谢帮助!

1 个答案:

答案 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))
})