Основные выводы
- 01Форматирует YAML с последовательным отступом, используя парсер js-yaml — ту же библиотеку, используемую в инструментах сборки Node.js.
- 02Проверяет синтаксис и сообщает точные номера строк для ошибок.
- 03Преобразует между YAML и JSON в обоих направлениях с сохранением правильного типа.
- 04Ничего не загружается — вся операция работает локально в вашем браузере.
Почему форматирование YAML важно для файлов конфигурации
YAML — это язык конфигурации по умолчанию для Kubernetes, GitHub Actions, Docker Compose, Helm диаграмм и многого другого. Он также известен своей чувствительностью к отступам — одна строка, отступленная неправильно, может произвести немой тип несоответствия или сложную ошибку разбора, которая блокирует развертывание. Регулярное форматирование сохраняет файлы последовательными и поймает проблемы перед тем, как они достигнут CI.
Преобразование между YAML и JSON одинаково полезно. Некоторые инструменты принимают только JSON для вызовов API или определений схемы, в то время как люди обычно предпочитают YAML для долгоживущих файлов конфигурации. Возможность круглого путешествия между двумя без потери типов данных — числа остаются числами, булевы остаются булевыми — экономит время и предотвращает тонкие ошибки.
Как форматировать или преобразовать YAML
- 01
Вставьте ваш YAML или JSON
Вставьте манифест Kubernetes, рабочий процесс GitHub Actions, файл значений Helm или любой другой документ YAML. Для преобразования JSON в YAML вставьте JSON вместо этого.
- 02
Выберите действие
Выберите Format YAML, чтобы нормализовать отступ и очистить документ на месте. Выберите YAML to JSON или JSON to YAML, чтобы полностью преобразовать формат.
- 03
Проверьте ошибки, если какие-либо
Если ввод имеет ошибку синтаксиса, инструмент возвращает точный номер строки и причину от парсера js-yaml — того же парсера, который используют ваши инструменты Node.js, поэтому ошибка совпадает с тем, что вы видели бы в производстве.
- 04
Скопируйте вывод
Нажмите Копировать, чтобы получить отформатированный или преобразованный вывод. Вставьте его обратно в ваш файл конфигурации, тело API или определение схемы.
Когда этот инструмент экономит вам время
- 01Манифест Kubernetes отошел — нормализуйте отступ перед фиксацией.
- 02Рабочий процесс GitHub Actions не парсится — проверьте, чтобы получить точную строку ошибки.
- 03API принимает только JSON, но конфигурация хранится как YAML — преобразуйте одним щелчком.
- 04Внедрение нового сервиса — преобразуйте пример полезной нагрузки JSON в YAML для диаграммы Helm.
- 05Копирование YAML из Stack Overflow — переформатируйте, чтобы совпадать со стилем 2-пробелов вашего проекта.
- 06Отладка слияния значений Helm — проверьте, что каждый values.yaml индивидуально чист.
Приватно, загрузка не требуется
Форматирование и преобразование работают полностью в вашем браузере, используя js-yaml — ту же библиотеку, пакетированную в Webpack, Rollup и большинство инструментов сборки JavaScript. Ваши файлы конфигурации, ссылки на секреты и имена переменных окружения никогда не покидают ваше устройство.
Парсер нацелен на YAML 1.2, который используют Kubernetes, GitHub Actions и Docker Compose. Если файл проверяет здесь, он правильно загружается в этих инструментах.
Часто задаваемые вопросы о форматере YAML
Сохранит ли форматирование YAML комментарии?
Нет. Парсер js-yaml удаляет комментарии во время разбора — это ограничение всех парсеров JavaScript YAML. Форматируйте первым, затем добавьте комментарии обратно вручную.
Какую версию YAML поддерживает это?
YAML 1.2, который используется Kubernetes, GitHub Actions, Docker Compose и Helm. То, что проверяет здесь, будет чисто загружаться в этих инструментах.
Преобразование из YAML в JSON сохраняет типы?
Да. Числа, булевы, null и строки дат правильно круглого пути. A true в YAML становится булевым true в JSON, а не строкой 'true'.
В чем разница между форматированием и преобразованием?
Форматирование сохраняет файл как YAML и нормализует пробелы и отступ. Преобразование полностью изменяет формат вывода — YAML в JSON создает документ, совместимый с .json.
Мой YAML имеет несколько документов, разделенных ---. Будут ли все обработаны?
Первый документ разбирается и переизлучается. Для многодокументных файлов разделите каждый раздел на --- и обработайте их индивидуально.