Перейти до основного вмісту
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
    Рекурсивний спусковий парсер будує дерево даних
    Парсер проходить список токенів, визначаючи структуру за рівнем відступу. Він розпізнає елементи послідовностей (- value), ключі відображень (key: value) і вкладені блоки. Скаляри проходять крок типізованого приведення, що обробляє null, логічні значення, цілі числа (відхиляючи значення з початковими нулями, як-от 007, щоб уникнути непомітного псування даних) і дробові — з необов’язковим режимом, що залишає голі слова YAML 1.1, як-от yes, no, on і off, рядками, а не перетворює їх на логічні значення.
  3. 3
    Непідтримувані можливості YAML позначаються, а не мовчки відкидаються
    Перед виведенням інструмент шукає якорі (&name), псевдоніми (*name), ключі злиття (<<:), блокові скаляри (| і >), маркери кількох документів (---) і дублікати ключів. Будь-що з цього викликає видиме попередження, а не створює непомітно неправильний JSON.
  4. 4
    JSON серіалізується або YAML генерується й стає доступним
    Для YAML→JSON розібране значення передається в JSON.stringify з вибраним відступом (2 пробіли, 4 пробіли, табуляція чи мініфікація). Для JSON→YAML власний генератор проходить розібране значення JavaScript і створює YAML із відступами, беручи рядкові скаляри в лапки лише за потреби (наприклад, значення з :, # або схожі на зарезервовані слова). Результат з’являється миттєво під час введення, і його можна скопіювати чи завантажити.

Схожі інструменти

Часті запитання