Запись объекта JSON в файл JSON с помощью fs.writeFileSync

Я пытаюсь написать объект JSON в файл JSON. Код выполняется без ошибок, но вместо того, чтобы записывать сам объект, все, что записывается в файл JSON, это:

[object Object]

Это код, который на самом деле пишет:

fs.writeFileSync('../data/phraseFreqs.json', output)

'output' - объект JSON, и файл уже существует. Пожалуйста, дайте мне знать, если требуется дополнительная информация.

Ответы

Ответ 1

Я не думаю, что вы должны использовать Synchronous - это хорошо, Asynchronously записывая данные в файл, лучше также строит output если его object.

Примечание. Если output является строкой, укажите кодировку. и помните также опции flag:

const fs = require('fs');
const content = JSON.stringify(output);

fs.writeFile("/tmp/phraseFreqs.json", content, 'utf8', function (err) {
    if (err) {
        return console.log(err);
    }

    console.log("The file was saved!");
}); 

Ответ 2

Вам нужно укрепить объект.

fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output));

Ответ 3

сделать json доступным для человека с помощью:

fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output,null,4));