← Все гайды

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

· 2 мин чтения

YAMLJSON

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

JSON нужен, когда YAML-конфигурацию надо передать в API, сравнить с выгрузкой из другой системы или подставить в код. Редактор YAML показывает JSON-представление документа сразу, по мере ввода.

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

  1. Откройте песочницу YAML и вставьте документ (или Файл → Открыть файл…, или перетащите файл .yaml/.yml в редактор).
  2. Справа откройте вкладку JSON — там документ в JSON с отступом в два пробела. Кнопка Копировать кладёт его в буфер обмена.
  3. Файл .json: Файл → Скачать → JSON (.json).
  4. Отдельный документ для дальнейшей работы: Файл → Преобразовать в JSON — откроется редактор JSON с результатом (в аккаунте — с выбором папки и названия).
YAML-документ и его JSON-представление
Вкладка «JSON» показывает результат преобразования по мере ввода

Как обрабатываются особенности YAML

  • Якоря и ссылки (&defaults, *defaults) и слияние ключей <<: *defaults раскрываются: в JSON попадают сами значения. Поэтому JSON может оказаться длиннее исходного YAML.
  • Комментарии в JSON не переносятся.
  • Многострочные строки (| и >) становятся обычными строками с \n.
  • Неявные типы: port: 8080 станет числом, enabled: true — логическим значением. Если нужна строка, возьмите значение в кавычки ещё в YAML.
  • Несколько документов в одном файле (разделитель ---) — редактор проверит все, но JSON — один документ; разнесите их по отдельным файлам.

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

Ошибки подсвечиваются в строках кода, а список с номерами строк появляется под редактором. Типичные причины:

  • табуляция вместо пробелов в отступах;
  • разное число пробелов у ключей одного уровня;
  • повторяющийся ключ в одном объекте — редактор считает это ошибкой, хотя некоторые библиотеки молча берут последнее значение;
  • двоеточие внутри значения без кавычек (title: Отчёт: итоги).

Как разобраться с ними — в гайде «Проверка YAML онлайн».

Пример: якоря и слияние ключей

defaults: &defaults
  timeout: 5s
  retries: 3
services:
  - name: orders
    <<: *defaults
  - name: payments
    <<: *defaults
    timeout: 10s

В JSON каждая служба получит все значения по умолчанию, а payments — свой timeout:

"services": [
  {"name": "orders", "timeout": "5s", "retries": 3},
  {"name": "payments", "timeout": "10s", "retries": 3}
]

На вкладке Дерево видно, где объявлен якорь и где он используется, — удобно проверять, что слияние сработало как задумано.

Вопросы и ответы

Как сжать JSON в одну строку? Откройте результат в редакторе JSON (Файл → Преобразовать в JSON) и выберите Файл → Сжать в одну строку.

Почему число стало строкой (или наоборот)? Тип определяется по тому, как значение записано в YAML. port: "8080" — строка, port: 8080 — число. Посмотрите на вкладке JSON: строки там в кавычках.

Можно ли проверить JSON по схеме сразу? Да, прямо в редакторе YAML — вкладка Проверка по схеме: проверяется тот же документ, а ошибки показываются в строках YAML.