ДокументыИзображенияМедиаИнструменты PDF

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

Конвертируйте YAML в JSON и JSON в YAML прямо в браузере — двунаправленно.

Обработано в вашем браузере — текст не отправляется на серверы

YAML ↔ JSON для DevOps и разработки

DevOps совместимость

Конвертируйте между YAML (Kubernetes, Docker, GitHub Actions) и JSON (API, Terraform).

Полная конфиденциальность

Конфигурационные файлы обрабатываются в браузере, не покидая устройство.

Валидация

Инструмент выявляет синтаксические ошибки YAML и JSON при конвертации.

Мгновенно

Конвертация в реальном времени при вводе или вставке данных.

Три шага — никаких сложностей

1

Вставьте данные

Введите YAML или JSON в поле ввода.

2

Выберите направление

Выберите YAML → JSON или JSON → YAML. Результат обновляется в реальном времени.

3

Скопируйте или скачайте

Скопируйте результат или скачайте готовый файл.

Остались вопросы?

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 полезна для улучшения читаемости автоматически сгенерированных конфигурационных файлов.