Конвертер YAML ↔ JSON
Конвертация YAML в JSON и JSON в YAML: якоря, комментарии, версии YAML 1.1 и 1.2, ошибки со строкой.
Данные обрабатываются в браузере и никуда не отправляются
Ввод
Результат
Здесь появится результат
Введите данные слева - результат появится сразу
Как пользоваться
Выберите направление, вставьте текст слева - результат появляется сразу. YAML → JSON раскрывает якоря и ссылки, склеивает несколько документов в массив и предупреждает о том, что при конвертации теряется (комментарии, особые значения). JSON → YAML строит читаемый YAML с выбранным отступом. Ошибки показываются со строкой и столбцом, клик по ним переносит курсор к месту.
Версия YAML влияет на то, как читаются значения без кавычек: в YAML 1.2 (по умолчанию) yes, no, on и off - обычные строки, в YAML 1.1 (его до сих пор используют многие библиотеки) - булевы значения. Если файл читает старый парсер, выберите 1.1: тогда при записи такие строки получат кавычки.
Частые ошибки
Вот что чаще всего ломает YAML и его конвертацию:
Табуляция вместо пробелов
В YAML отступы делаются только пробелами, табуляция запрещена. Редактор часто вставляет её незаметно - тогда парсер сообщает об ошибке в той строке, где она стоит.
Проблема Норвегии: NO, yes, on
В YAML 1.1 значения yes, no, on, off (и страна NO) читаются как булевы. Код страны NO превращается в false. Если значение должно остаться строкой, берите его в кавычки: "NO".
Версия 1.10 превращается в 1.1
Запись version: 1.10 без кавычек - это число 1.1. Номера версий, телефоны и индексы с ведущими нулями всегда пишите в кавычках.
Двоеточие и решётка в значениях
Значение с «: » внутри или с « #» (пробел и решётка) нужно брать в кавычки, иначе YAML решит, что началось новое отображение или комментарий.
Комментарии теряются
В JSON нет комментариев, поэтому при переходе YAML → JSON они пропадают, а при обратной конвертации не восстанавливаются. Инструмент предупреждает об этом.
Якоря и merge копируются
Ссылки &якорь и *ссылка, а также << для слияния при переходе в JSON превращаются в обычные копии значений: связь между ними теряется, а размер документа может заметно вырасти.
Частые вопросы
Отправляется ли мой текст на сервер?
Нет - 100%. Сайт целиком статический, у него нет серверной части. Конвертация выполняется прямо в вашем браузере.
Чем YAML отличается от JSON?
YAML - надмножество JSON, удобное для человека: отступы вместо скобок, комментарии, якоря, многострочные строки. Поэтому он популярен в конфигурациях (Kubernetes, CI, OpenAPI). JSON строже и проще для машин, поэтому именно он чаще идёт по сети.
Какую версию YAML выбрать?
Почти всегда 1.2: так работают современные парсеры. Версия 1.1 нужна, если файл читает библиотека, которая её использует (многие реализации в Python, Ruby, Java и в старых версиях инструментов). Если сомневаетесь, берите ключ значений в кавычки - тогда результат одинаков в обеих версиях.
Почему в YAML появились кавычки, которых не было в JSON?
Инструмент берёт строку в кавычки, когда без них YAML прочитал бы её как другой тип: "123", "true", "null", "1.10" и подобные. Это сохраняет тип значения при обратной конвертации.
Можно ли конвертировать спецификацию OpenAPI?
Да, OpenAPI одинаково записывается в YAML и в JSON. Для проверки спецификации и просмотра её в виде документации используйте валидатор OpenAPI на этом сайте.
Что будет, если в YAML несколько документов?
Документы разделяются строкой «---». В JSON они собираются в массив, о чём приходит предупреждение. Один документ превращается в обычное значение, без массива.
Похожие инструменты
Курс «Проектирование API и интеграций»
Глубокое погружение в REST, gRPC, SOAP, проектирование баз данных и брокеры сообщений (Kafka, RabbitMQ). Делегирование рутины нейросетям (ИИ). Перестанете бояться технических собеседований и начнете говорить с разработчиками на одном языке. Курс собран так, чтобы пробить зарплатный потолок и вырасти в грейде - ученики тому подтверждение.
Перейти к курсу на Stepik