Как пользоваться: YAML в JSON
- Вставьте YAML в панель YAML, откройте файл
.yaml/.ymlили нажмите Загрузить пример. - JSON появляется сразу. Для вывода JSON выберите отступ в 2 пробела, 4 пробела или табуляцию.
- Если YAML некорректен, сообщение об ошибке покажет строку и столбец и подсветит место проблемы.
- Нажмите Копировать или Скачать, чтобы сохранить
data.json.
Что такое конвертация YAML в JSON?
YAML создан для людей: вместо фигурных скобок используются отступы, кавычки и комментарии необязательны. JSON создан для машин и API. Преобразование YAML в JSON позволяет передать конфигурационный файл инструменту или API, которые работают только с JSON, проверить его по JSON Schema или просто посмотреть, как парсер YAML интерпретирует ваши отступы. Это самый быстрый способ понять, почему значение оказалось не на своём месте.
Что поддерживает конвертер
- Якоря, алиасы и merge-ключи —
&defaults,*defaultsи<<: *defaults(распространены в Docker Compose и GitLab CI) раскрываются в обычный JSON. - Несколько документов — файлы с несколькими документами, разделёнными
---(типично для Kubernetes), превращаются в массив JSON, по одному элементу на документ. - Блочные скаляры —
|сохраняет переносы строк,>заменяет их пробелами. - Комментарии допустимы в YAML, но в JSON, где нет синтаксиса комментариев, они удаляются.
Как определяются типы значений (YAML 1.2)
Парсер следует основной схеме YAML 1.2, как и современные инструменты. Простые скаляры преобразуются в типы JSON следующим образом:
| YAML | JSON | Примечание |
|---|---|---|
true, False | true, false | Логические значения |
yes, on, NO | "yes", "on", "NO" | Строки в YAML 1.2 (логические значения в старых парсерах 1.1) |
~, null, пустое значение | null | |
0x1F, 0o17, 1e3 | 31, 15, 1000 | Числа |
2024-05-01 | "2024-05-01" | Сохраняется как строка |
.inf, .nan | null | В JSON нет бесконечности и NaN |
Частые ошибки YAML
Табуляция для отступов запрещена — используйте пробелы. Непоследовательные отступы («bad indentation of a mapping entry») возникают, когда соседние ключи не выровнены. Двоеточия без кавычек — title: Note: read me — сбивают парсер; заключите значение в кавычки. Повторяющиеся ключи в одном блоке сопоставления выводятся как ошибки. После конвертации результат можно аккуратно отформатировать с помощью JSON Formatter или сгенерировать типы через JSON to TypeScript. Для обратного преобразования используйте JSON to YAML.
Также ищут как: yml в json, yaml парсер, валидатор yaml, yaml2json, yaml линтер.
Инструменты, которые хорошо сочетаются с YAML в JSON
- CSV в JSON — Вставьте CSV или TSV и получите JSON-массив объектов.
- Валидатор JSON Schema — Вставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую схему по примеру данных.
- Тестер JSONPath — Введите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения.
- Валидатор OpenAPI / Swagger — Вставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и несогласованные параметры пути и увидеть все эндпоинты сразу.
Часто задаваемые вопросы
Поддерживаются ли файлы Docker Compose и Kubernetes?
<< раскрываются, а многодокументные файлы Kubernetes, разделённые ---, возвращаются как массив JSON.Почему "yes" превращается в строку, а не в true?
true/false (в любом регистре). yes, no, on и off были логическими значениями в YAML 1.1, что вызывало много ошибок, поэтому современные парсеры считают их строками.