YAML в JSON

Бесплатный онлайн-конвертер, который превращает YAML в стандартные JSON-объекты с помощью библиотеки js-yaml. YAML-маппинги и списки автоматически преобразуются в JSON-объекты и массивы, а pretty-режим можно переключать. Встроенная функция tryFixYAML исправляет 5 распространённых проблем: табы, незакрытые кавычки, отступы, формат ключей и лишние пробелы в конце строк.

Похожие

Зачем преобразовывать YAML в JSON

YAML удобен для чтения человеком и часто используется в Kubernetes, Docker Compose, Ansible и GitHub Actions. JSON, наоборот, лучше подходит для API, JavaScript и программной обработки. Этот инструмент нужен, чтобы быстро превращать YAML-конфигурации в стандартный JSON.

Преобразование происходит через js-yaml: YAML читается как JavaScript-объект, а затем сериализуется в JSON. Маппинги YAML становятся JSON-объектами, списки — массивами, а строки, числа, булевы значения и null сохраняют соответствующие типы.

Режим pretty выводит JSON с отступами в 2 пробела и удобен для чтения. Компактный режим полезен для передачи по сети, вставки в API-запросы и хранения в базах данных.

В реальных YAML-файлах часто встречаются табы, незакрытые кавычки, неправильные отступы и проблемные ключи. Встроенный tryFixYAML автоматически исправляет 5 таких типичных ошибок прямо в браузере.

Варианты использования

  • Преобразование Kubernetes manifest и Helm values.yaml в JSON для jq, проверки или CI/CD
  • Конвертация docker-compose.yml в JSON для дальнейшей обработки другими инструментами
  • Сравнение и шаблонизация YAML-конфигураций GitHub Actions или GitLab CI в виде JSON
  • Преобразование Ansible playbook и monitoring-конфигов в JSON для программной обработки
  • Перевод OpenAPI / Swagger YAML-спецификаций в JSON для генераторов SDK и серверных заготовок
  • Обучение различиям между YAML и JSON на практических примерах

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

  1. Вставьте YAML в левую панель или загрузите файл .yaml / .yml / .txt
  2. Через 400 мс после ввода инструмент автоматически покажет JSON в правой панели
  3. При необходимости переключите режим форматированного или компактного вывода
  4. Если есть ошибка, нажмите кнопку исправления структуры для автопочинки типичных YAML-проблем
  5. Скопируйте результат или скачайте его как converted.json

Функции

  • Парсит YAML через js-yaml: маппинги, списки, вложенные структуры, многострочные строки, anchors и aliases
  • Автоматически исправляет 5 распространённых ошибок YAML: табы, незакрытые кавычки, неверные отступы, специальные ключи и хвостовые пробелы
  • Поддерживает pretty-вывод с отступом в 2 пробела и компактный JSON в одну строку
  • Рекурсивно преобразует вложенные YAML-структуры в JSON-объекты и массивы
  • Игнорирует YAML-комментарии, поэтому в результате остаются только данные JSON
  • Запускает автоконвертацию через 400 мс после ввода для быстрого просмотра результата
  • Показывает JSON с подсветкой синтаксиса, чтобы сложные структуры было проще читать
  • Поддерживает загрузку, копирование, скачивание и восстановление истории прямо в браузере
  • Вся обработка выполняется локально и не отправляет конфигурацию на сервер

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

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

Вставьте YAML в левую панель или загрузите файл .yaml / .yml / .txt, и инструмент с помощью js-yaml автоматически преобразует содержимое в стандартный JSON. YAML-маппинги становятся JSON-объектами, а списки — JSON-массивами. Конвертация запускается автоматически примерно через 400 мс после ввода.

Сохраняются ли комментарии YAML в JSON?

Нет. Комментарии YAML с символом # нужны только для чтения человеком и игнорируются при парсинге. На выходе JSON содержит только данные. Если комментарии важны, храните исходный YAML отдельно или добавляйте явные поля comment в JSON.

Можно ли исправить YAML с ошибками отступов или кавычек?

Да. Встроенный tryFixYAML умеет автоматически исправлять 5 распространённых проблем: табы, незакрытые кавычки, неровные отступы, специальные имена ключей и лишние пробелы в конце строк. Но при сильно повреждённой структуре YAML всё равно может потребоваться ручная правка.

Устранение неполадок

Ошибка парсинга YAML

Чаще всего причина в смешении табов и пробелов, сломанной вложенности, незакрытых кавычках или пропущенном двоеточии. Попробуйте сначала автопочинку структуры.

Комментарии не попали в JSON

JSON не поддерживает комментарии, поэтому строки с # удаляются при преобразовании. Если комментарии нужны, храните их отдельно.

Пропали anchors и aliases

js-yaml разворачивает ссылки до преобразования в JSON. В результате в JSON остаются только уже раскрытые значения.

Дата стала строкой

Даже если YAML распознаётся как дата, JSON выводит её как ISO-строку. У JSON нет собственного типа Date.

Что делать с multi-document YAML

Текущий инструмент ориентирован на один YAML-документ. Файлы с --- лучше разбивать и конвертировать по частям.

Глоссарий

YAML
Человекоориентированный формат сериализации данных, широко используемый в конфигурациях Kubernetes, Docker Compose и других DevOps-инструментов.
JSON
JavaScript Object Notation — стандартный формат данных для API, веб-приложений и многих языков программирования.
js-yaml
Популярная JavaScript-библиотека для парсинга YAML и преобразования его в объекты JavaScript.
Indentation
Отступы в YAML, задающие вложенность. Обычно используются пробелы, а не табы.
Anchor
Конструкция YAML вида &name для повторного использования значения или блока.
Alias
Конструкция YAML вида *name для ссылки на ранее объявленный anchor.
Pretty Output
Форматированный JSON с отступами и переводами строк для удобного чтения.
tryFixYAML
Встроенный механизм автоматической починки распространённых ошибок YAML перед конвертацией.

Соответствие типов YAML и JSON

Базовые структуры YAML преобразуются в JSON следующим образом.

Тип YAMLПример YAMLВывод JSONПравило
stringname: Alice"name": "Alice"Строка остаётся строкой JSON.
numberage: 30"age": 30Число остаётся числом JSON.
booleanenabled: true"enabled": truetrue / false становятся булевыми значениями JSON.
sequence- a - b["a", "b"]YAML-список становится JSON-массивом.
mappinguser: name: Alice{"user": {"name": "Alice"}}YAML-маппинг становится JSON-объектом.

Сравнение YAML и JSON

Оба формата описывают данные, но по-разному удобны для чтения и машинной обработки.

КритерийYAMLJSONПримечание
ЧитаемостьвысокаясредняяYAML удобнее для конфигураций, читаемых человеком.
Комментарии# поддерживаютсяне поддерживаютсяВ стандарте JSON нет комментариев.
Массивы- item[item]YAML использует дефисы, JSON — квадратные скобки.
Основное применениеконфигиAPI / обмен даннымиYAML чаще для конфигураций, JSON — для передачи данных.

Какие ошибки YAML исправляются автоматически

Функция tryFixYAML исправляет несколько частых проблем.

Тип ошибкиПримерПосле исправленияПояснение
Табыkey: valuekey: valueТабы заменяются пробелами.
Незакрытые кавычкиkey: 'valuekey: 'value'Добавляется недостающая кавычка.
Пробелы в конце строкиkey: value key: valueЛишние пробелы удаляются.
Неровные отступы key: valuekey: valueОтступы приводятся к корректному виду.

Privacy & Security

Этот инструмент YAML в JSON выполняет парсинг YAML, сериализацию JSON и исправление ошибок полностью в JavaScript вашего браузера. Исходный YAML и готовый JSON не отправляются на сервер. Поэтому конфигурации с Kubernetes secrets, API-ключами и паролями баз данных можно преобразовывать локально и безопаснее.

Authoritative References