От YAML к JSON

YAML удобнее писать вручную, JSON, использовать программно, и многие современные инструменты (системы автоматизации интеграции, Kubernetes, Ansible) поддерживают оба формата. Когда необходимо вставить конфигурацию в приложение, требующее JSON-формата, например, определения API-шлюзов, шаблоны CloudFormation или тела webhook, этот конвертер обеспечивает взаимное преобразование между форматами. Анкеры, операции слияния и специфические для YAML типы данных (даты, октальные значения, null, ~) автоматически преобразуются в соответствующие значения в JSON-формате.

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

  1. 1

    Вставьте файл формата YAML

    Любой действительный документ в формате YAML версий 1.1 или 1.2.

  2. 2

    Разрешить ссылки

    Анкеры (`&x`) и псевдонимы (`*x`) расширяются в прямом тексте; ключи слияния (`<<`) сглаживаются.

  3. 3

    Нормализация типов

    Даты, пустые значения и логические значения преобразуются в соответствующие значения в формате JSON.

  4. 4

    Выходной JSON

    Или с чёткой печатью, или в миниатюрном формате, выбор за вами.

Пример конвертации

YAML:

defaults: &defaults
  timeout: 30
  retries: 3

production:
  <<: *defaults
  host: prod.example.com
  debug: false

staging:
  <<: *defaults
  host: staging.example.com
  debug: true

JSON (анкеры разрешены):

{
  "defaults": {
    "timeout": 30,
    "retries": 3
  },
  "production": {
    "timeout": 30,
    "retries": 3,
    "host": "prod.example.com",
    "debug": false
  },
  "staging": {
    "timeout": 30,
    "retries": 3,
    "host": "staging.example.com",
    "debug": true
  }
}

Маппинг типов

YAML JSON
Строка Строка
Целое число Число
Число с плавающей точкой Число
Логическое значение (true, false) Логическое значение
Null (null, ~, пусто) null
Метка времени Строка по стандарту ISO 8601
Последовательность (список) Массив
Отображение Объект

Аспекты, специфичные для YAML, которые невозможно представить в JSON

  • Комментарии. В JSON нет стандартного синтаксиса комментариев; они отбрасываются.
  • Потоки из нескольких документов (разделители ---). В формате JSON в каждом файле содержится один документ; при наличии нескольких документов конвертер выдаёт массив документов.
  • Анкеры и псевдонимы. Разрешаются и дублируются внутри строки.
  • Сложные ключи (ключи сопоставления, не являющиеся строками). Ключи в формате JSON должны быть строками; сложные ключи преобразуются в строки.

Примечание о различиях между версиями 1.1 и 1.2

  • YAML 1.1 интерпретирует значения yes, no, on, off, y и n как логические; значение NO, представляющее собой код страны, незаметно преобразуется в false.
  • YAML 1.2 ограничивает значения типа boolean только значениями true и false; этот вариант более безопасен, однако многие парсеры (включая стандартный пакет PyYAML) по-прежнему используют версию 1.1.

Конвертер по умолчанию использует семантику версии 1.2 и выдаёт предупреждение, если бы применение версии 1.1 привело к изменению результата.

Обратное преобразование из JSON в YAML

Преобразование из JSON в YAML обычно происходит без потерь (JSON, подмножество синтаксиса YAML 1.2), тогда как преобразование из YAML в JSON выполняется с потерями: комментарии и структура ключей слияния утрачиваются. Если вы планируете выполнять обратное преобразование, сохраняйте исходный файл в формате YAML в системе управления версиями.

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

Нет, у них есть собственные шаблоны, которые выполняются до анализа файла в формате YAML. Сначала отобразите шаблон (с кодом kustomize build или helm template), затем передайте результат его обработки здесь.

Временные метки в YAML преобразуются в строки по стандарту ISO 8601 в формате JSON; например, 2026-04-18 становится "2026-04-18". Время и часовые пояса сохраняются без изменений.

Практический лимит в браузере составляет около 10 МБ. Для более крупных файлов используйте команды yq или python -c "import yaml, json; print(json.dumps(yaml.safe_load(open(file))))" в командной строке.

Нет. Процесс конвертации выполняется в вашем браузере, и ничего не передаётся.

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

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

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

Смешивание цветов

Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.

Счетчик FPS

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

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

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

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

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

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

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