Я пытаюсь записать объект JSON в файл JSON. Код выполняется без ошибок, но вместо написания содержимого объекта в файл JSON записывается следующее:
[object Object]
Это код, который на самом деле пишет:
fs.writeFileSync('../data/phraseFreqs.json', output)
'output' - это объект JSON, а файл уже существует. Пожалуйста, дайте мне знать, если потребуется дополнительная информация.
Ответы:
Вам нужно натянуть объект.
источник
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output, null, 2));
Подробнее: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Я не думаю, что вам следует использовать синхронный подход, асинхронная запись данных в файл лучше также структурирует,
output
если этоobject
.Примечание: если
output
это строка, укажите кодировку и запомнитеflag
параметры:Добавлен синхронный метод записи данных в файл, но рассмотрите вариант использования. Асинхронное и синхронное выполнение, что это на самом деле означает?
источник
Сделайте json удобочитаемым, передав третий аргумент
stringify
:источник
При отправке данных на веб-сервер данные должны быть строкой ( здесь ). Вы можете преобразовать объект JavaScript в строку с помощью
JSON.stringify()
. Вот рабочий пример:Надеюсь, это поможет.
источник
Вот вариант, использующий версию, в
fs
которой используются обещания:источник