JSON до Конвертер YAML
Перетворення структури JSON на чистий формат YAML. Ідеально підходить для маніфестів Kubernetes і хмарних конфігурацій.
Перетворення структури JSON на чистий формат YAML. Ідеально підходить для маніфестів Kubernetes і хмарних конфігурацій.
Перехід від JSON до YAML здебільшого полягає в тому, щоб зробити дані більш читабельними для людей. Обидва формати описують ті самі типи структур — об’єкти/карти, масиви/послідовності, скаляри — але синтаксис YAML на основі відступів, необов’язкове цитування та підтримка коментарів полегшують сканування та редагування вручну. Конфігураційні файли є канонічним варіантом використання: маніфести Kubernetes, робочі процеси CI, збірники ігор Ansible і десятки інших інструментів обрали YAML саме тому, що їх основними редакторами є люди.
Цей конвертер використовує js-yaml для серіалізації проаналізованого об’єкта JSON у YAML. Результат точно зберігає структуру даних із застосуванням угод YAML: відступ для вкладеності, списки для масивів, пари ключ-значення для властивостей об’єкта. Суворе подвійне цитування в JSON послаблено; лише рядки, що містять спеціальні символи або схожі на інші типи, беруться у лапки.
Перетворення зберігає інформацію, за винятком випадків, коли YAML додає виразність, якої JSON не мав. Коментарі не можна реконструювати (у JSON їх немає). Посилання на прив’язки та псевдоніми потенційно можуть стискати повторювані структури, але не генеруються автоматично; вихід розгортає всі посилання в рядку.
YAML значно легше читається, ніж JSON для редагування конфігурації людьми. Відступи замінюють вкладення дужок, лапки необов’язкові для простих рядків, а коментарі можуть документувати неочевидні налаштування. Для файлів, які обслуговують люди — конфігурація програми, інфраструктура як код, конвеєри побудови — YAML майже завжди є правильним цільовим форматом.
Сучасні інструменти інфраструктури переважно віддають перевагу YAML. Kubernetes, Helm charts, Ansible, GitHub Actions, GitLab CI, Docker Compose та багато інших інструментів віддають перевагу або потребують YAML. Перетворення експорту JSON з однієї системи в конфігурацію YAML для іншої є звичайним кроком інтеграції.
Вставте JSON, отримайте YAML.
Функція dump js-yaml проходить дерево об’єктів JavaScript і видає YAML, використовуючи настроюване форматування. Глибина відступу, ширина рядка, порогове значення стилю потоку та обробка цитат — усі параметри. Параметри за замовчуванням створюють блоковий стиль YAML із 2-пробілним відступом, що є найпоширенішою угодою.
Квотування рядків відповідає правилам YAML: рядки, які виглядають як інші типи (числа, логічні значення, null, дати), беруться в лапки для примусової інтерпретації рядків; рядки, що містять спеціальні символи (двокрапки, решітки, тире), взяті в лапки; прості алфавітні рядки залишаються без лапок.
Вихідні дані сумісні з YAML 1.2 і чітко аналізуються за допомогою js-yaml, PyYAML та інших основних бібліотек YAML. Ідемпотентні цикли (JSON → YAML → JSON) зберігають дані, хоча представлення YAML вибирає канонічне форматування, яке може відрізнятися від рукописного еквівалента.