Блог
Русский

Конвертер JSON в YAML онлайн

JSON в YAML (выбор отступа, сортировка ключей, позиция ошибки)

Работает в браузере · файлы никуда не загружаются

Результат YAML

Что это за инструмент

YAML — формат конфигурации, который удобно читать и править человеку. Он используется в манифестах Kubernetes, GitHub Actions, Docker Compose и многих других инструментах. Если у вас есть ответ API или конфиг в JSON, а нужен YAML, просто вставьте его сюда — результат появится сразу.

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

  1. Вставьте JSON в поле ввода.
  2. Выберите отступ в 2 или 4 пробела. Для YAML принято использовать 2.
  3. Включите сортировку ключей, если нужен алфавитный порядок на всех уровнях.
  4. Скопируйте результат. Если в JSON есть ошибка, будут показаны строка и столбец.

Как это работает

  • На входе строгий JSON по RFC 8259. Вывод формирует библиотека js-yaml в форме, совместимой с core-схемой YAML 1.2.
  • Строка, которую можно прочитать как другой тип, например true, null, 123 или 007, автоматически берется в кавычки, поэтому при обратном преобразовании типы не меняются.
  • Кириллица, иероглифы и эмодзи записываются как есть, без экранирования.
  • Автоматический перенос строк выключен, а значение, встречающееся несколько раз, каждый раз записывается полностью, без якорей и ссылок (&, *).
  • Пустой массив записывается как [], пустой объект — как {}. Скаляр верхнего уровня, например строка или число, тоже преобразуется.
  • Целые числа больше 2^53 округляются при чтении ввода, поэтому выводится предупреждение.

Примеры

Ввод:

{"name":"app","ports":[80,443],"owner":{"имя":"Иван"},"debug":false,"version":"1.0"}

Результат:

name: app
ports:
  - 80
  - 443
owner:
  имя: Иван
debug: false
version: '1.0'

Частые вопросы

Если преобразовать YAML обратно в JSON, данные будут теми же?

Структура и значения вернутся без изменений. Строки, которые можно принять за другой тип, например "true" или "123", берутся в кавычки и остаются строками. Порядок ключей сохраняется, если не включена сортировка.

Длинные строки переносятся на несколько строк?

Нет. Автоматический перенос отключен, поэтому строка остается на одной линии и не разбивается. Строка с переводами строк может быть записана как блочный скаляр YAML.

Как сообщается об ошибках в JSON?

Показываются строка и столбец первого символа, нарушающего синтаксис. То, что JSON не допускает, например висячие запятые и комментарии, тоже считается ошибкой.

Безопасны ли очень большие целые числа?

Ввод читается средствами JavaScript, поэтому целые числа больше 9007199254740991 (2^53-1) округляются. В таком случае появляется предупреждение — записывайте такие числа строками.

Не нашли нужный инструмент?