Конвертер YAML

Конвертер YAML ↔ JSON: мульти-документы — массивом, дубли ключей — ошибка с позицией; JSON в YAML с отступом 2, блок-стилем, без алиасов.

Результат можно передать дальше:Открыть в JSON-форматтере

Опции YAML-вывода (JSON → YAML)

Результат

YAML → JSON: мульти-документы собираются массивом. JSON → YAML: отступ 2, блок-стиль, без алиасов.

Ошибки — с позицией, данные — не покидают вкладку

Синтаксическая ошибка и дублирующийся ключ показываются строкой и столбцом; мульти-документ через «---» конвертируется в JSON-массив. Сетевых запросов страница не делает; введённые документы попадают в историю браузера только до закрытия вкладки.

Последние результаты

Введённые данные остаются в истории этого браузера только до закрытия вкладки и не попадают в экспорт на странице «Закладки». Значения скрыты по умолчанию — раскрываются кнопкой «Показать».

Готовые примеры

Найдено: 4 из 4

Что это и как пользоваться

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

Дубли ключей в одном объекте считаются ошибкой с указанием позиции. Это строже, чем у большинства парсеров, где последнее значение молча перекрывает предыдущее и опечатка в имени ключа обходится дорого.

Якоря и алиасы поддерживаются: &anchor и *ref разворачиваются в значение, а не остаются строкой. Ссылка на несуществующий якорь и рекурсивный алиас дают понятную ошибку, а не бесконечное развёртывание.

При обратном преобразовании есть два флажка: маркеры документов (--- в начале) и перенос длинных строк по 80 символам. Оба нужны, когда результат читают люди, а не только машина.

Ввод ограничен 1 млн знаков, а развёрнутые якоря — 2 млн узлов: защита от «бомбы» с рекурсивными ссылками, которая раздувает документ в памяти.

Когда пригодится

  • Перевести конфиг приложения в JSON для системы, которая принимает только строгий JSON.
  • Прочитать чужой YAML: увидеть явную структуру и найти, где отступ съехал.
  • Проверить конфиг до деплоя: дубль ключа всплывёт как ошибка, а не как тихо потерянное значение.
  • Собрать несколько документов в массив, чтобы обработать их одним проходом.
  • Проверить конфиг CI, где общие настройки вынесены в якоря, и убедиться, что после конвертации значения подставились.
  • Сравнить два конфига после конвертации в JSON: отступы больше не мешают diff.

Чего инструмент не делает

  • Комментарии не сохраняются: при конвертации в JSON и обратно они исчезают, потому что JSON их не поддерживает.
  • Поддержка YAML неполная: сложные типы вроде множеств и нестандартных тегов могут не разбираться.
  • Многострочные блоки (| и >) переходят в JSON строкой с переводами строк, а обратно в исходный вид с отступами не восстанавливаются.
  • Переменные окружения и ссылки между файлами не раскрываются — это делает загрузчик конфигов, а не конвертер.
  • Ошибка указывает строку, но не всегда точный символ: для отступов этого хватает, для сложных конструкций — нет.

Примеры

Вход
                    name: Мария
role: admin
                  
Выход
                    {"name":"Мария","role":"admin"}
                  
Вход
                    ---
a: 1
---
b: 2
                  
Выход
                    [{"a":1},{"b":2}]