Як користуватися
- Вставте YAML у поле вводу або спробуйте приклад.
- Виберіть відступ 2 або 4 пробіли.
- Скопіюйте JSON або завантажте його як файл .json.
Як це працює
YAML аналізується відкритою бібліотекою yaml за основною схемою YAML 1.2, яку очікують сучасні інструменти: yes, no, on і off залишаються рядками, і лише true і false є булевими значеннями. Якорі (&name) та аліаси (*name) розгортаються, а ключі злиття << застосовуються; кількість розгортань аліасів обмежена, тому навмисно «вибухові» документи відхиляються, а не заморожують сторінку.
Файл із кількома документами, розділеними ---, стає масивом JSON з одним елементом на документ. Коментарі, якорі та теги не мають відповідника у JSON і відкидаються; ключі зберігають свій порядок. Позначки часу залишаються рядками. Цілі числа з більш ніж приблизно 15 цифрами втрачають точність, як і в будь-якому JSON, що обробляється в JavaScript.
Якщо YAML недійсний, показується перша помилка з рядком і стовпцем, наприклад табуляція, використана для відступу, або відсутня закривальна дужка. Для зворотного напряму скористайтеся конвертером JSON у YAML або двостороннім конвертером JSON ⇄ YAML.
Приклади
CI-файл з якорями
Список завдань, який повторно використовує блок defaults за допомогою <<: *defaults, стає JSON, у якому defaults скопійовано в кожне завдання, тож ви бачите, що саме отримує кожне завдання.
Багатодокументний файл Kubernetes
Файл із Deployment і Service, розділеними ---, стає масивом JSON із двох об’єктів, готових для kubectl або jq.
Поширені запитання
Чому yes залишається рядком?
YAML 1.2, який використовується тут і в більшості сучасних інструментів, вважає булевими значеннями лише true і false. Старіші парсери YAML 1.1 перетворювали yes, no, on та off на булеві значення, що спричиняло багато помилок.
Що відбувається з коментарями?
JSON не має коментарів, тому вони відкидаються. Самі дані не змінюються.
Чи є обмеження розміру?
Лише в пам’яті вашого браузера. Великі файли перетворюються з короткою паузою під час введення, тому сторінка залишається чуйною.
Конфіденційність
Перетворення виконується повністю у вашому браузері. Ваші YAML і JSON не завантажуються й не зберігаються.