Перайсці да асноўнага зместу
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 спецыфікацыя пераўтварэннеПераўтварыце спецыфікацыі 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 з водступам, экраніруючы радковыя скаляры ў двукоссі толькі пры неабходнасці (напрыклад, значэнні, якія ўтрымліваюць :, # ці выглядаюць як зарэзерваваныя словы). Вывад з'яўляецца імгненна падчас набору і можа быць скапіяваны ці спампаваны.

Звязаныя інструменты

Часта задаюць пытанні