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 представянето избира канонично форматиране, което може да се различава от ръкописен еквивалент.