Конвертер YAML в JSON

Вставьте YAML — файл Compose, манифест Kubernetes или конфиг CI — и получите отформатированный JSON. Синтаксические ошибки выводятся с точным номером строки и столбца.

Обновлено
Отступ YAML
Отступ JSON
Открыть файл

Обе панели можно редактировать: измените любую, и другая обновится мгновенно.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Конвертируйте JSON в YAML мгновенноJSON в YAML →

Как пользоваться: YAML в JSON

  1. Вставьте YAML в панель YAML, откройте файл .yaml/.yml или нажмите Загрузить пример.
  2. JSON появляется сразу. Для вывода JSON выберите отступ в 2 пробела, 4 пробела или табуляцию.
  3. Если YAML некорректен, сообщение об ошибке покажет строку и столбец и подсветит место проблемы.
  4. Нажмите Копировать или Скачать, чтобы сохранить 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 следующим образом:

YAMLJSONПримечание
true, Falsetrue, falseЛогические значения
yes, on, NO"yes", "on", "NO"Строки в YAML 1.2 (логические значения в старых парсерах 1.1)
~, null, пустое значениеnull
0x1F, 0o17, 1e331, 15, 1000Числа
2024-05-01"2024-05-01"Сохраняется как строка
.inf, .nannullВ 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?
Да. Якоря и merge-ключи << раскрываются, а многодокументные файлы Kubernetes, разделённые ---, возвращаются как массив JSON.
Почему "yes" превращается в строку, а не в true?
В YAML 1.2 логическими значениями являются только true/false (в любом регистре). yes, no, on и off были логическими значениями в YAML 1.1, что вызывало много ошибок, поэтому современные парсеры считают их строками.
Что происходит с комментариями YAML?
Они удаляются, так как в JSON нет синтаксиса комментариев. Если нужно сохранить пояснения, храните их в обычных строковых полях.
Можно ли использовать это как валидатор YAML?
Да. Если YAML не удаётся разобрать, вы получите причину ошибки с номером строки и столбца и подсвеченный фрагмент — те же проверки синтаксиса, что выполняет линтер YAML.
Можно ли установить YAML в JSON как веб-приложение и пользоваться им офлайн?
Да. YAML в JSON — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localJSON в YAMLВставьте JSON и получите аккуратный YAML для манифестов Kubernetes, Docker Compose, GitHub Actions или…localJSON форматтерВставьте JSON, чтобы отформатировать, минифицировать или проверить его. Ошибки указываются с точной…localJSON в TypeScriptВставьте образец JSON, например ответ API или конфиг, и получите готовые интерфейсы TypeScript с…localCSV в JSONВставьте CSV или TSV и получите JSON-массив объектов. Поля в кавычках, переносы строк внутри ячеек и…localВалидатор JSON SchemaВставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую…localТестер JSONPathВведите запрос JSONPath и сразу увидите, что он выбирает, с точным путём каждого совпадения. Удобно для…