Конвертер YAML ↔ JSON Онлайн
Конвертируйте YAML в JSON и JSON в YAML прямо в браузере — двунаправленно.
Зачем это нужно
YAML ↔ JSON для DevOps и разработки
DevOps совместимость
Конвертируйте между YAML (Kubernetes, Docker, GitHub Actions) и JSON (API, Terraform).
Полная конфиденциальность
Конфигурационные файлы обрабатываются в браузере, не покидая устройство.
Валидация
Инструмент выявляет синтаксические ошибки YAML и JSON при конвертации.
Мгновенно
Конвертация в реальном времени при вводе или вставке данных.
Как это работает
Три шага — никаких сложностей
Вставьте данные
Введите YAML или JSON в поле ввода.
Выберите направление
Выберите YAML → JSON или JSON → YAML. Результат обновляется в реальном времени.
Скопируйте или скачайте
Скопируйте результат или скачайте готовый файл.
FAQ
Остались вопросы?
YAML (YAML Ain't Markup Language) — человекочитаемый формат сериализации данных. В отличие от JSON, YAML поддерживает комментарии, многострочные строки, якоря и ссылки для повторного использования фрагментов. Отступы определяют структуру — аналогично Python. YAML широко используется в DevOps: Kubernetes, Docker Compose, GitHub Actions, Ansible, GitLab CI.
YAML — надмножество JSON: любой валидный JSON является валидным YAML. Ключевые отличия YAML: поддержка комментариев (#), нет обязательных кавычек для строк, отступы вместо скобок, якоря (&name) и псевдонимы (*name) для повторного использования, многострочные строки (| и >). Это делает YAML удобнее для конфигурационных файлов.
Наиболее частые проблемы: случайное использование табуляции вместо пробелов (YAML допускает только пробелы), непредвиденная интерпретация нестрочных значений (yes/no/true/false/null без кавычек становятся булевыми/null), норвежская проблема (country code 'NO' интерпретируется как false в старых версиях YAML), нарушения отступа.
Нет. Полные YAML-парсеры (yaml.load в Python без Loader=yaml.SafeLoader) могут выполнять произвольный код через специальные теги (!python/object и аналоги). Всегда используйте безопасный парсинг (safe_load в Python, SafeLoader). В браузере риск ниже, поскольку браузерные YAML-парсеры обычно реализуют только базовое подмножество.
Якоря (&name) позволяют определить фрагмент YAML один раз, псевдонимы (*name) — переиспользовать его в другом месте документа. Это удобно в Kubernetes-манифестах или GitHub Actions для избегания дублирования конфигурации. При конвертации в JSON псевдонимы раскрываются: данные повторяются явно.
YAML в DevOps: Kubernetes, GitHub Actions и экосистема конфигураций
YAML 1.0 был представлен Инги Дёрнером и Кларком Эвансом в 2001 году. Текущая спецификация YAML 1.2 (2009) устранила несовместимости с JSON. YAML быстро стал стандартом для конфигурационных файлов DevOps: Kubernetes использует YAML для описания манифестов всех ресурсов, Docker Compose — для определения многоконтейнерных приложений, GitHub Actions — для описания рабочих процессов CI/CD.
Чувствительность YAML к пробелам — источник многочисленных ошибок. Инструмент YAML Lint помогает выявлять проблемы с отступами. В больших организациях для валидации YAML-манифестов используют kubeconform (Kubernetes), yamllint и pre-commit хуки, предотвращающие попадание некорректных конфигураций в репозиторий.
Конвертация YAML → JSON востребована при интеграции с инструментами, принимающими только JSON: Terraform (HCL или JSON), многие REST API, jq для обработки данных в командной строке. Обратная конвертация JSON → YAML полезна для улучшения читаемости автоматически сгенерированных конфигурационных файлов.