Форматировщик и валидатор YAML
Форматируйте, валидируйте и украшайте YAML онлайн. Мгновенно выделяет синтаксические ошибки с номерами строк. Бесплатно и полностью работает в браузере.
Как использовать
- Вставьте ваш YAML в поле ввода
- Нажмите «Форматировать и проверить», чтобы украсить и проверить синтаксис
- Если YAML некорректен, сообщение об ошибке покажет точную строку и проблему
- Настройте селектор отступов для управления отступами в выводе
- Нажмите «Копировать», чтобы скопировать отформатированный результат, или «Очистить» для сброса
Часто задаваемые вопросы
-
Что такое валидация YAML?
Валидация YAML проверяет, соответствует ли документ правильному синтаксису YAML: правильные отступы, отсутствие дублирующихся ключей, допустимые типы данных и корректное использование специальных символов.
-
Меняет ли форматирование мои данные?
Нет. Форматирование изменяет только пробелы и отступы. Структура данных и значения остаются абсолютно теми же.
-
Какие ошибки синтаксиса YAML встречаются чаще всего?
Распространённые ошибки: несогласованные отступы (смешение табуляции и пробелов), отсутствие двоеточий после ключей, строки без кавычек, содержащие специальные символы, например : или #, а также дублирующиеся ключи.
-
Отправляется ли мой YAML на сервер?
Нет. Всё форматирование и валидация происходят полностью в браузере с использованием библиотеки js-yaml. Ваши данные никогда не покидают ваше устройство.
-
В чём разница между YAML и JSON?
YAML является расширенным набором JSON, поддерживает комментарии, многострочные строки и менее многословен. JSON использует фигурные скобки и кавычки, тогда как YAML использует отступы. YAML обычно применяется для файлов конфигурации, JSON — для API.
Что такое YAML и где он применяется
YAML (YAML Ain't Markup Language — рекурсивный акроним) — это человекочитаемый формат сериализации данных, созданный в 2001 году. В отличие от JSON и XML, YAML делает упор на читаемость: минимум специальных символов, структура выражается через отступы, а не через скобки.
Сегодня YAML стал стандартом для файлов конфигурации в таких технологиях как:
- Kubernetes: манифесты Pod, Deployment, Service, ConfigMap
- Docker Compose:
docker-compose.yml - GitHub Actions / GitLab CI: определения пайплайнов
- Ansible: плейбуки и роли
- Helm: чарты и values-файлы
- OpenAPI / Swagger: описание API
Синтаксис YAML: основные конструкции
Скалярные значения
имя: Иван
возраст: 30
активен: true
рейтинг: 4.5
пусто: null
Списки (последовательности)
языки:
- Python
- Go
- TypeScript
Вложенные объекты (отображения)
база_данных:
хост: localhost
порт: 5432
имя: production
Многострочные строки
YAML предлагает два способа записи многострочного текста:
# Буквальный блок (literal block) — сохраняет переносы строк
описание: |
Первая строка.
Вторая строка.
# Свёрнутый блок (folded block) — заменяет переносы пробелами
текст: >
Длинная строка,
которая будет свёрнута в одну.
Распространённые синтаксические ошибки
Смешивание табуляции и пробелов
YAML запрещает использование табуляции для отступов. Это самая частая причина ошибок парсинга. Всегда используйте пробелы (обычно 2 или 4).
Специальные символы без кавычек
Следующие символы имеют специальное значение и требуют кавычек в строковых значениях:
# Неверно:
сообщение: Привет: мир # двоеточие без пробела
теги: [да, нет, true] # true парсится как булево
путь: C:\Users\name # обратный слеш
# Верно:
сообщение: "Привет: мир"
строка: "true"
путь: "C:\\Users\\name"
Дублирующиеся ключи
YAML-спецификация не запрещает дублирующиеся ключи, но поведение при их наличии зависит от парсера. Большинство парсеров берут последнее значение, некоторые выдают ошибку. Форматировщик-валидатор предупредит о дублировании.
Якоря и псевдонимы: мощная функция YAML
YAML поддерживает механизм повторного использования данных:
по_умолчанию: &defaults
тайм_аут: 30
повторы: 3
сервис_а:
<<: *defaults # merge key — вставляет все поля
хост: service-a.example.com
сервис_б:
<<: *defaults
хост: service-b.example.com
тайм_аут: 60 # переопределение
Эта функция широко используется в Helm-чартах и Ansible для избежания повторений.
Зачем нужно форматирование и валидация
Файлы конфигурации YAML нередко редактируются вручную, и ошибка в одном символе может привести к незапуску сервиса или некорректному поведению деплоя. Форматировщик:
- Стандартизирует отступы и устраняет смешивание табуляции и пробелов
- Мгновенно показывает строку и характер синтаксической ошибки
- Помогает привести файлы разных разработчиков к единому стилю