Простой скрипт для преобразования 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