Перейти к основному содержимому
LibraTool logoLibraTool

Конвертер YAML в JSON — бесплатно

Конвертируйте YAML в JSON и JSON в YAML в обоих направлениях. Вставьте в любом формате и мгновенно получите результат — без загрузки на сервер.

Работает офлайн после загрузки
Вывод JSON
Результат появится здесь…

Частые применения

  • Конвертируйте 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. 1
    Ввод предобрабатывается построчно
    Для ввода YAML парсер разбивает текст на строки, удаляет инлайн-комментарии (отслеживая состояние кавычек, чтобы избежать удаления # внутри строк), измеряет глубину отступа и отбрасывает пустые строки — строя структурированный список токенов перед началом любого парсинга.
  2. 2
    Парсер рекурсивного спуска строит дерево данных
    Парсер проходит по списку токенов, используя уровень отступа для определения структуры. Он распознаёт элементы последовательности (- значение), ключи отображения (ключ: значение) и вложенные блоки. Скаляры проходят через шаг типизированного приведения, который обрабатывает null, булевы значения, целые числа (отклоняя значения с ведущим нулём вроде 007, чтобы избежать тихого искажения данных), и числа с плавающей запятой — с опциональным режимом, который сохраняет простые слова YAML 1.1 вроде yes, no, on и off как строки, а не конвертирует их в булевы значения.
  3. 3
    Неподдерживаемые функции YAML помечаются, а не тихо отбрасываются
    Перед выдачей вывода инструмент сканирует на наличие якорей (&имя), псевдонимов (*имя), ключей слияния (<<:), блочных скаляров (| и >), маркеров многодокументности (---) и дублирующихся ключей отображения. Любой из них запускает видимое предупреждение, а не производит тонко неправильный JSON.
  4. 4
    JSON сериализуется или YAML выдаётся, затем делается доступным
    Для YAML→JSON разобранное значение передаётся в JSON.stringify с выбранной вами индентацией (2 пробела, 4 пробела, табуляция или минифицировано). Для JSON→YAML пользовательский эмиттер проходит по разобранному значению JavaScript и производит индентированный YAML, заключая скалярные строки в кавычки только при необходимости (например, значения, содержащие :, #, или похожие на зарезервированные слова). Вывод появляется мгновенно по мере ввода и может быть скопирован или скачан.

Похожие инструменты

Часто задаваемые вопросы