Конвертер YAML в JSON — бесплатно
Конвертируйте YAML в JSON и JSON в YAML в обоих направлениях. Вставьте в любом формате и мгновенно получите результат — без загрузки на сервер.
Результат появится здесь…Частые применения
- Конвертируйте YAML в JSON для манифестов KubernetesКонвертируйте Kubernetes YAML в JSON (или наоборот) для инструментов, скриптов валидации или прямого применения через API.
- Конвертирование Docker Compose YAML / JSONКонвертируйте docker-compose.yml в JSON для проверки или вернитесь к YAML после программных правок.
- Конвертирование конфигурации конвейера CI/CDКонвертируйте GitHub Actions, GitLab CI, CircleCI и другие конфигурации конвейера между форматами YAML и JSON.
- Конвертирование файла конфигурации приложенияКонвертируйте файлы конфигурации приложения между YAML и JSON, полезно при переключении структур или совместном использовании конфигураций в инструментах.
- Конвертирование спецификации OpenAPI / SwaggerКонвертируйте спецификации API OpenAPI 3.x или Swagger 2.0 между форматами YAML и JSON. Оба формата действительны и взаимозаменяемы.
Как это работает
Оба направления конвертации — YAML в JSON и JSON в YAML — полностью работают в вашем браузере с использованием написанных вручную парсера и эмиттера, встроенных в страницу, без сторонней библиотеки YAML и без участия сервера. Логика живёт в едином модуле TypeScript (lib/yamljson.ts), который обрабатывает отображения, последовательности, скаляры, строки в кавычках и удаление инлайн-комментариев.
- 1Ввод предобрабатывается построчноДля ввода YAML парсер разбивает текст на строки, удаляет инлайн-комментарии (отслеживая состояние кавычек, чтобы избежать удаления # внутри строк), измеряет глубину отступа и отбрасывает пустые строки — строя структурированный список токенов перед началом любого парсинга.
- 2Парсер рекурсивного спуска строит дерево данныхПарсер проходит по списку токенов, используя уровень отступа для определения структуры. Он распознаёт элементы последовательности (- значение), ключи отображения (ключ: значение) и вложенные блоки. Скаляры проходят через шаг типизированного приведения, который обрабатывает null, булевы значения, целые числа (отклоняя значения с ведущим нулём вроде 007, чтобы избежать тихого искажения данных), и числа с плавающей запятой — с опциональным режимом, который сохраняет простые слова YAML 1.1 вроде yes, no, on и off как строки, а не конвертирует их в булевы значения.
- 3Неподдерживаемые функции YAML помечаются, а не тихо отбрасываютсяПеред выдачей вывода инструмент сканирует на наличие якорей (&имя), псевдонимов (*имя), ключей слияния (<<:), блочных скаляров (| и >), маркеров многодокументности (---) и дублирующихся ключей отображения. Любой из них запускает видимое предупреждение, а не производит тонко неправильный JSON.
- 4JSON сериализуется или YAML выдаётся, затем делается доступнымДля YAML→JSON разобранное значение передаётся в JSON.stringify с выбранной вами индентацией (2 пробела, 4 пробела, табуляция или минифицировано). Для JSON→YAML пользовательский эмиттер проходит по разобранному значению JavaScript и производит индентированный YAML, заключая скалярные строки в кавычки только при необходимости (например, значения, содержащие :, #, или похожие на зарезервированные слова). Вывод появляется мгновенно по мере ввода и может быть скопирован или скачан.
Похожие инструменты
Конвертер JSON в XML
Конвертируйте JSON в XML и XML в JSON в обоих направлениях с сохранением атрибутов и массивов. Работает полностью в браузере — ничего не загружается.
CSV в JSON
Конвертируйте CSV (или TSV) в JSON — массив объектов или массивов — с полноценным парсером RFC 4180, автоопределением разделителя и преобразованием типов. Работает в браузере.
Декодировщик JWT
Декодируйте и инспектируйте любой JSON Web Token. Просматривайте заголовок, полезную нагрузку, срок действия и стандартные утверждения. Всё работает локально в браузере — токены никогда не покидают устройство.