Инструменты
RU

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

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

JSON

YAML

Конфиденциально: ваши данные обрабатываются в браузере и никуда не загружаются.

Как конвертировать JSON в YAML

  1. Вставьте JSON или откройте файл — YAML появляется по мере ввода. Выберите отступ в 2 или 4 пробела.
  2. Для обратного преобразования переключите направление на YAML → JSON и вставьте YAML.
  3. Скопируйте результат или скачайте его как файл .yaml или .json.

JSON vs YAML: сравнение

JSONYAML
Структурафигурные {} и квадратные [] скобкиотступы и элементы списка с -
Строкивсегда в двойных кавычкахкавычки только при необходимости
Комментариине допускаются# comment
Многострочный текстescape-последовательности \nлитеральные блоки с |
Типичное применениеAPI и обмен даннымифайлы конфигурации

YAML 1.2 — надмножество JSON, поэтому JSON-документ уже является валидным YAML. Конвертер же записывает данные в более читаемом блочном стиле.

Значения, которые в YAML нужно брать в кавычки

Некоторые слова без кавычек в YAML меняют тип: yes, no, on и off — логические значения для парсеров YAML 1.1, 007 и 1e3 — числа, а null или ~ означают null. Это знаменитая «норвежская проблема»: код страны NO превращается в false, если не взят в кавычки. Конвертер автоматически заключает такие строки в кавычки, поэтому при обратном чтении YAML даёт в точности те же данные.

Какой YAML поддерживается для YAML → JSON

Парсер понимает YAML, который используется в файлах конфигурации и API: блочные словари и списки, строки без кавычек, в одинарных и двойных кавычках, многострочные блоки | и >, встроенные коллекции [ ] и { }, комментарии и маркер документа ---. Для якорей (&), алиасов (*) и пользовательских тегов выводится сообщение о том, что они не поддерживаются, с номером строки. Из файла с несколькими документами конвертируется только первый.

Часто задаваемые вопросы

YAML — это надмножество JSON?

YAML 1.2 задумывался как надмножество JSON, поэтому практически любой JSON-файл — это ещё и валидный YAML. Обратное неверно: в YAML есть комментарии, якоря и многострочные блоки, которых нет в JSON.

Сохраняются ли комментарии при конвертации YAML в JSON?

Нет. В JSON нет комментариев, поэтому они отбрасываются. Ключи, значения и их порядок сохраняются.

Почему мой YAML не принимается?

Обычные причины — табуляция в отступах (YAML допускает только пробелы), элементы одного списка или словаря, которые начинаются в разных столбцах, и пропущенный пробел после двоеточия. В сообщении об ошибке указана строка.

Как типизируются значения YAML в JSON?

По базовой схеме (core schema) YAML 1.2: true/false становятся логическими значениями, null и ~ — null, обычные числа — числами JSON, а слова вроде yes остаются строками. Берите коды вроде "007" в YAML в кавычки, чтобы они остались текстом.