Конвертор от JSON в YAML
Конвертирайте JSON в YAML и YAML в JSON във вашия браузър, с котви, merge ключове и файлове с много документи. Нищо не се качва.
Как да използвате конвертора от JSON в YAML
- Изберете посоката: JSON → YAML или YAML → JSON.
- Поставете данните си или щракнете Отвори файл, за да заредите файл
.json,.yamlили.yml(до 10 МБ). - Изберете Отстъп (2 или 4 интервала) и, ако желаете, Подреди ключовете по азбучен ред.
- Щракнете Конвертирай или просто продължете да пишете: резултатът се обновява автоматично. Ако входът е невалиден, съобщението за грешка посочва реда и колоната на проблема.
- Копирайте или изтеглете резултата. Обърни посоката изпраща изхода обратно във входа, за да го конвертирате в другата посока.
JSON и YAML: едни и същи данни, различен синтаксис
На практика YAML е надмножество на JSON: всеки JSON документ описва данни, които YAML може да изрази, а YAML добавя по-лек синтаксис, по-лесен за четене и редактиране от хора. Затова манифестите на Kubernetes, файловете на Docker Compose, GitHub Actions и GitLab CI, плейбуковете на Ansible и спецификациите на OpenAPI обикновено се пишат на YAML, а API и програми обменят JSON.
Едни и същи данни в двата формата:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Конверторът записва YAML в блоков стил: един ключ на ред, списъци с тирета и вложени обекти с отстъп. Дългите низове никога не се прекъсват, а многоредовите низове използват буквалния стил |, за да се запазят точно новите редове. Низовете, които YAML иначе би прочел като друг тип, се слагат в кавички: "yes", "1.0" или "null" остават низове след двупосочно преобразуване. Подреди ключовете подрежда ключовете на всеки обект по азбучен ред, което улеснява сравняването на два конфигурационни файла.
YAML → JSON
YAML се чете с основната схема на YAML 1.2 – същите правила, които използват повечето съвременни инструменти:
true/false, числата иnull(или~) стават стойности на JSON;yes,no,onиoffостават низове, както изисква спецификацията YAML 1.2.- Котвите и псевдонимите (
&base,*base) се разгръщат, а merge ключовете (<<: *base), чести във файловете за CI, се поддържат. - Файл с няколко документа, разделени с
---, става JSON масив с по един елемент за документ, а съобщение казва колко са обединени. - Коментарите се отхвърлят, тъй като JSON няма коментари.
.infи.nanнямат еквивалент в JSON; записват се като низовете"Infinity"и"NaN".
За да предпази браузъра ви от файлове тип „билион смехове“, в които няколко псевдонима се разгръщат в милиарди стойности, документ, който се разгръща до над милион стойности, се отказва.
Чести грешки в YAML
- Табулации за отстъп: YAML позволява само интервали.
- Непоследователен отстъп: елементите на един и същ списък или обект трябва да започват в една и съща колона.
- Липсващ интервал след двоеточието:
key:valueе един низ, аkey: valueе двойка ключ–стойност. - Специални символи без кавички: стойност, която започва с
@, обратен апостроф,*,&или!или съдържа:или#, трябва да е в кавички.
Често задавани въпроси
Изпраща ли се файлът ми към сървър?
Не. Конвертирането се изпълнява във вашия браузър, а конфигурационните ви файлове, тайни или API данни никога не напускат компютъра ви.
Защо „yes“ и „no“ не се конвертират в булеви стойности?
От YAML 1.2 само true и false са булеви стойности. По-старите парсери на YAML 1.1 третираха yes, no, on и off като булеви стойности, което породи прословутия „проблем с Норвегия“ (кодът на държавата NO, прочетен като false). Този инструмент следва YAML 1.2.
Запазват ли се коментарите в YAML?
Не. JSON няма коментари, затова те се губят при YAML → JSON. При конвертиране от JSON в YAML можете да добавите коментари към резултата след това.
Мога ли да конвертирам файл на Kubernetes с няколко ресурса?
Да. Всеки ресурс, разделен с ---, става един елемент на JSON масив. Конвертирането на този масив обратно в YAML дава един документ със списък.
Променя ли конверторът реда на ключовете?
Не, освен ако не отметнете Подреди ключовете: ключовете запазват реда, в който се появяват във входа ви. Единственото изключение идва от самия JavaScript: ключовете, които са цели числа, като "10" или "2", се поставят първи, във възходящ ред.
Сродни инструменти
- JSON форматиране и валидиране Безплатно форматиране и валидиране на JSON, което подрежда, минимизира и проверява JSON във вашия браузър, със синтактични грешки по ред и колона.
- Конвертор от JSON в CSV Конвертирайте JSON в CSV и CSV обратно в JSON във вашия браузър. Вложените ключове се сплескват в колони, разделителите се разпознават, нищо не се качва.
- Конвертор от JSON в XML Конвертирайте JSON в XML и XML в JSON във вашия браузър, с атрибути, повтарящи се елементи и CDATA. Нищо не се качва на сървър.