Напишите JSON с узлом.JS


Я пытаюсь вставить имена в файл 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 2

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