·4 мин. чтения

Конвертер YAML в JSON для Mac

Манифесты Kubernetes, пайплайны CI и конфиг-файлы говорят на YAML, но инструменты, которые нужны для изучения данных, обычно ожидают JSON.

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

Конвертация между ними вручную механическая, но нудная: вложенность YAML на основе отступов превращается в фигурные и квадратные скобки JSON, незакавыченные строки YAML нужно заключать в кавычки, а более снисходительный синтаксис YAML (незакавыченные булевы значения, многострочные строки, якоря и ссылки) не всегда чисто отображается на более строгие правила JSON.

Зачем нужны оба формата

Вы можете написать манифест Kubernetes в YAML, потому что его легче читать и вести в системе контроля версий, но вам нужен эквивалент в JSON, чтобы передать его в скрипт, API-запрос или пайплайн jq, ожидающий ввод JSON. Или вы отлаживаете, почему YAML-конфиг CI-пайплайна не парсится так, как вы ожидаете, и видите структуру JSON под капотом, что делает реальную вложенность однозначной так, как чувствительный к пробелам YAML иногда не может.

Конвертируйте между форматами мгновенно

Bellows включает конвертер YAML в JSON среди своих 41 инструментов для разработчиков. Вставьте YAML и сразу получите эквивалентную структуру JSON с сохранением вложенности и типов — никакого ручного переформатирования, никакого угадывания уровней отступов.

Bellows YAML to JSON converter tool on macOS

Отладка конфигов Kubernetes и CI

Когда манифест ведёт себя неожиданно, просмотр лежащей в основе структуры JSON устраняет любую неоднозначность в том, как на самом деле вложился YAML — полезно, когда неуместный отступ незаметно поменял, какому родительскому объекту принадлежит ключ.

Передача конфига в скрипты

Многие скриптовые и автоматизационные инструменты работают более естественно с JSON, чем с YAML. Конвертация конфиг-файла один раз и передача вывода в формате JSON дальше по цепочке часто проще, чем учить каждый скрипт в пайплайне парсить YAML напрямую.

Получить Bellows в Mac App Store

Следующая статья

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store