Простой скрипт для преобразования Json в Yaml
JSON и YAML — два широко используемых формата сериализации данных. JSON (нотация объектов JavaScript) — это упрощенный формат обмена данными, который легко читать и писать людям, а машинам легко анализировать и генерировать. YAML (YAML не язык разметки) — это удобочитаемый формат сериализации данных, который часто используется для файлов конфигурации и обмена данными между языками.
В этой статье мы обсудим код JavaScript, который преобразует данные JSON в данные YAML с помощью пакета js-yaml.
Первое, что мы делаем в коде, — требуем пакеты fs
и js-yaml
. Пакет fs
— это встроенный модуль Node.js, предоставляющий API для работы с файловой системой. Пакет js-yaml
— это сторонний пакет, который позволяет нам работать с данными YAML.
const fs = require("fs"); const jsYaml = require("js-yaml");
Затем мы получаем путь к входному файлу и путь к выходному файлу из аргументов командной строки, используя массив process.argv
.
const inputFilePath = process.argv[2]; const outputFilePath = process.argv[3];
Затем мы используем метод fs.readFileSync()
для чтения входного файла и сохранения его содержимого в переменной с именем jsonData
. Аргумент "utf8"
указывает кодировку файла.
const jsonData = fs.readFileSync(inputFilePath, "utf8");
Затем мы используем метод JSON.parse()
для анализа jsonData
в объект JavaScript с именем parsedData
.
const parsedData = JSON.parse(jsonData);
Затем мы используем метод jsYaml.dump()
для преобразования объекта parsedData
в данные YAML и сохранения его в переменной с именем yamlData
.
const yamlData = jsYaml.dump(parsedData);
Наконец, мы используем метод fs.writeFileSync()
для записи yamlData
в выходной файл. Аргумент "utf8"
указывает кодировку файла.
fs.writeFileSync(outputFilePath, yamlData, "utf8");
Если при чтении или записи файлов возникают какие-либо ошибки, мы ловим их с помощью блока try...catch
и выводим сообщение об ошибке в консоль.
try { // read and write files here } catch (error) { console.error(`Error reading/writing file: ${error.message}`); process.exit(1); }
В заключение, этот код JavaScript представляет собой простой и эффективный способ преобразования данных JSON в данные YAML с помощью пакета js-yaml. В нем показано, как использовать пакеты fs
и js-yaml
, а также как читать и записывать файлы с помощью API файловой системы Node.js.
Исходный код: https://github.com/rtiwariops/CodeHub/tree/main/utility/json2yaml-node