Как можно красиво отформатировать JSON с помощью node.js?
Проблема, с которой я столкнулся, вроде бы решена, но я не могу найти подходящего решения.
У меня есть JSON-файл, который я читаю, изменяю ключ и записываю обновленный JSON обратно в тот же файл. Все работает, но я теряю форматирование JSON. Вместо:
{
name: 'test',
version: '1.0'
}
Я получаю:
{name: 'test', version: '1.1'}
Существует ли способ в Node.js записать хорошо отформатированный JSON в файл?
3 ответ(ов)
Конечно! Вот перевод на русский язык в стиле ответа на StackOverflow:
Это может оказаться полезным... Я люблю примеры кода! 😃
var fs = require('fs');
var myData = {
name: 'test',
version: '1.0'
}
var outputFilename = '/tmp/my.json';
fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) {
if (err) {
console.log(err);
} else {
console.log("JSON сохранен в " + outputFilename);
}
});
В этом примере кода используется модуль fs
(файловая система) для записи данных в файл в формате JSON. Мы создаем объект myData
, содержащий имя и версию, затем конвертируем его в строку JSON с помощью JSON.stringify()
. Параметры null
и 4
в JSON.stringify()
обеспечивают удобный форматирование с отступами в 4 пробела.
Функция fs.writeFile()
принимает имя файла, данные для записи и коллбэк, который обрабатывает возможные ошибки или подтверждает успешное сохранение. Если запись успешна, в консоль выводится сообщение о том, что JSON успешно сохранен.
Если у вас есть вопросы или нужно больше информации, не стесняйтесь спрашивать!
Если вы не хотите сохранять объект, а просто хотите просмотреть его для отладки, вы можете использовать следующий код:
console.log(JSON.stringify(object, null, " "));
Здесь вы можете изменить третий параметр, чтобы настроить отступы по своему усмотрению.
Я знаю, что это старый вопрос, но, возможно, это вам поможет! 😀
JSON строка
var jsonStr = '{ "bool": true, "number": 123, "string": "foo bar" }';
Форматирование JSON (Pretty Print)
JSON.stringify(JSON.parse(jsonStr), null, 2);
Сжатие JSON (Minify)
JSON.stringify(JSON.parse(jsonStr));
Надеюсь, это будет полезно!
Как разобрать JSON с помощью Node.js? [закрыто]
Как вывести циклическую структуру в формате, похожем на JSON?
Как прочитать JSON-файл в память сервера?
Корректный способ вернуть JSON с использованием Node.js или Express
Как преобразовать jsonString в JSONObject в Java?