JSON в YAML

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

Как преобразовать JSON в YAML

  1. 1

    Вставьте JSON

    Любой корректный JSON. Конвертер точно сохраняет семантическую структуру.

  2. 2

    Выберите отступ и стиль

    2 или 4 пробела; поточный стиль, для компактных массивов/объектов, блочный стиль, для развёрнутой записи.

  3. 3

    Необязательно: сортировка ключей

    Сортировка по алфавиту упрощает сравнение YAML между двумя версиями.

  4. 4

    Скопируйте YAML

    Вставьте в файл `.yaml` или `.yml`. На выходе, корректный YAML 1.2.

Пример

Ввод:

{
  "name": "hyperion",
  "replicas": 3,
  "env": { "DEBUG": "false", "LOG_LEVEL": "info" },
  "command": ["php", "artisan", "queue:work"]
}

Результат:

name: hyperion
replicas: 3
env:
  DEBUG: "false"
  LOG_LEVEL: info
command:
  - php
  - artisan
  - queue:work

Сопоставление типов

JSON YAML
строка без кавычек, в кавычках или блочный скаляр по необходимости
целое число 42
число 3.14
логическое значение true / false
null null (или ~, или пустое значение)
массив блочная последовательность с - или поток [...]
объект блочное отображение с key: value или поток {...}

Когда строкам необходимо использовать кавычки

YAML автоматически интерпретирует некоторые строки как нестроки. Значения, имеющие такой вид, должны быть заключены в кавычки:

Значение Почему нужны кавычки
yes, no, on, off Интерпретируется как логические значения (совместимость с YAML 1.1)
null, Null, NULL Интерпретируется как null
1.23 Интерпретируется как число
2026-04-18 Интерпретируется как дата
Пробел в начале/конце Будет удалён
Начинается с *, &, ! Директивы YAML

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

Различия в устройстве YAML и JSON

  • Комментарии: в YAML они есть (#), в JSON, нет.
  • Якоря/псевдонимы: YAML поддерживает перекрёстные ссылки (&anchor / *alias); JSON повторяет данные. Преобразование не может их вывести, добавьте их вручную при необходимости.
  • Многострочные строки: в YAML есть блочные скаляры (| сохраняет переносы строк, > сворачивает их). Конвертер использует их для длинных строк.
  • Представление null: YAML допускает null, ~ или пустое значение. По умолчанию конвертер выводит null.

Частые ошибки

  • «Проблема Норвегии» в YAML 1.1. Без кавычек NO в YAML 1.1, это логическое false. Большинство современных парсеров используют YAML 1.2, где логическими являются только true/false, но некоторые устаревшие инструменты всё ещё дают сбой.
  • Пробелы в конце значений. YAML сохраняет их в блочных скалярах и удаляет в простых. Это неожиданно, если не знать, какую форму вы получили.
  • Табуляция в отступах. YAML запрещает отступы табуляцией. Всегда используйте пробелы.
  • Очень длинные однострочные строки. Разбивайте их на блочные скаляры для читаемости; конвертер делает это автоматически при превышении настраиваемого порога.

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

Строки, похожие на другие типы данных YAML (логические значения, числа, даты, null), нужно заключать в кавычки, чтобы они остались строками. Строки со специальными символами (начальный пробел, непечатаемые символы) также требуют кавычек. Конвертер автоматически определяет такие случаи и добавляет кавычки там, где это нужно.

По умолчанию используется YAML 1.2. Если требуется совместимость с YAML 1.1 (для более старых инструментов или некоторых систем автоматического тестирования), включите опцию «Совместимость с YAML 1.1», конвертер добавит дополнительные кавычки для значений, которые в версии 1.1 представляют собой логические значения (yes, no, on, off).

Да. Стиль потока ([1, 2, 3] и { a: 1 }) доступен для компактных массивов и объектов. Большинство конфигурационных файлов предпочтительно используют блочный стиль для удобства чтения.

Да, но с одной оговоркой: YAML для K8s часто опирается на комментарии и якоря, которые нельзя выразить в JSON. Преобразуйте структуру данных, а затем добавьте комментарии и якоря вручную.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Шпаргалка по Markdown

Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Шпаргалка по регулярным выражениям

Поисковый справочник регулярных выражений для JavaScript, PCRE2/PHP, Python re и .NET. Сравнивайте токены, синтаксис движков, якоря, группы, проверки и флаги.

Инструмент доступен на других языках