IT Market
Инструменты/Код/Документы/YAML в JSON — конвертер онлайн бесплатно
YAML → JSON

Конвертируйте YAML в JSON формат

Коротко об инструменте

YAML в JSON — конвертер онлайн бесплатно

Обратная задача: конфиг написан отступами, а нужен объект — для запроса к API, для теста, для кода, который читает только JSON. Вставьте содержимое манифеста, playbook или файла настроек в поле «YAML на входе» и нажмите «Конвертировать». Побочная польза — проверка синтаксиса: если YAML собран неправильно, парсер не выдаст объект, и это самый быстрый способ поймать сбитый отступ. Смотрите также: превратить JSON-настройки в YAML-конфиг, отформатировать полученный JSON и найти ошибки, выгрузить список из конфига в CSV.

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

  1. Скопируйте содержимое .yml или .yaml целиком и вставьте в поле «YAML на входе» вместе с отступами.
  2. Уберите из вставки табуляцию — YAML принимает только пробелы, и таб чаще всего и есть причина ошибки.
  3. Нажмите «Конвертировать»: в поле «JSON на выходе» появится объект с форматированием, а не в одну строку.
  4. Пустой вывод означает, что документ не разобрался: сверьте выравнивание вложенных ключей и двоеточия с пробелом после них.
  5. Заберите результат кнопкой «Копировать JSON» или сохраните файл кнопкой «Скачать JSON».

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

Почему yes и on превратились в true?

Так устроен сам YAML: значения yes, no, on, off, true и false без кавычек читаются как булевы. Если вам нужна именно строка «yes» — например, это код страны или ответ анкеты, — возьмите её в кавычки в исходном YAML: field: "yes". Тогда в JSON придёт строка, а не булево значение.

Поддерживаются ли якоря и ссылки вида &default и *default?

Да, js-yaml раскрывает якоря при разборе, и в JSON попадает уже подставленное значение — сама ссылка исчезает, потому что в JSON её нечем выразить. Многострочные блоки | и > тоже поддерживаются: они станут обычной строкой с переносами \n. Слияние ключей

Можно ли вставить документ с несколькими секциями через ---?

Разбирается только один документ. Если во вставке есть разделители ---, парсер на них споткнётся, потому что JSON не описывает поток из нескольких документов. Разделите файл вручную и прогоните каждую секцию по отдельности — обычно так и делают с многосекционными манифестами Kubernetes.

Как найти место ошибки, если результат пустой?

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

Даты в YAML станут строками или объектами?

Дата без кавычек, записанная как 2026-09-06, разбирается в объект Date, а при выводе в JSON превращается в строку в формате ISO с временем и Z на конце. Если нужна ровно исходная запись, оберните значение кавычками в YAML — тогда оно доедет до JSON без изменений.

Что с комментариями после решётки?

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

Уходит ли содержимое playbook куда-то за пределы браузера?

Нет. Страница подгружает только сам скрипт js-yaml с CDN, а весь разбор идёт локально, поэтому inventory с адресами хостов можно вставлять без опаски. Убедиться просто: отключите сеть после загрузки страницы — конвертация продолжит работать.

Примеры

Фрагмент манифеста Kubernetes для запроса к API
До: apiVersion: v1 kind: Service metadata: name: web labels: tier: front
После: { "apiVersion": "v1", "kind": "Service", "metadata": { "name": "web", "labels": { "tier": "front" } } }
Список переменных окружения в объект для теста
До: env: - DEBUG - TZ retries: 3 enabled: yes
После: { "env": ["DEBUG", "TZ"], "retries": 3, "enabled": true }