Aqbeż għall-kontenut ewlieni
LibraTool logoLibraTool

Konvertitur YAML għal JSON b'xejn

Ikkonverti YAML għal JSON u JSON għal YAML fiż-żewġ direzzjonijiet. Dħal f'kwalunkwe format u ikseb l-output ikkonvertit immedjatament — mingħajr bżonn ta' upload fis-server.

Jaħdem offline ladarba mgħobbi
Output JSON
L-output jidher hawn…

Użi komuni

  • Ikkonverti YAML għal JSON għall-Kubernetes ManifestsIkkonverti Kubernetes YAML għal JSON (jew lura) għall-għodda, skritti ta' validazzjoni jew applikazzjoni direttament permezz tal-API.
  • Docker Compose YAML / JSON KonverżjoniIkkonverti docker-compose.yml għal JSON għall-ispezzjoni, jew lura għal YAML wara edits programattika.
  • CI/CD Pipeline Config KonverżjoniIkkonverti GitHub Actions, GitLab CI, CircleCI u configs ta' pipeline oħra bejn il-formati YAML u JSON.
  • Konverżjoni tal-Fajls tal-Konfigurazzjoni tal-AppIkkonverti fajls ta' config tal-app bejn YAML u JSON - utli meta tbiddel frameworks jew taqsam configs ħdejn għodda.
  • OpenAPI / Swagger Spec KonverżjoniIkkonverti OpenAPI 3.x jew Swagger 2.0 API specifications bejn il-formati YAML u JSON. Kemm il-formati huma validi u skambjabbli.

Kif Taħdem

Iż-żewġ direzzjonijiet tal-konverżjoni — YAML għal JSON u JSON għal YAML — jaħdmu kompletament fil-browser tiegħek bl-użu ta' parser u emitter miktuba bl-idejn mibnija fil-paġna, mingħajr librerija YAML ta' parti terza u l-ebda server involut. Il-loġika tgħix f'modulu TypeScript wieħed (lib/yamljson.ts) li jimmaniġġja mappings, sekwenzi, skalari, strings bejn virgoletti, u t-tneħħija ta' kummenti inline.

  1. 1
    Id-dħul jiġi pproċessat minn qabel linja b'linja
    Għad-dħul YAML, il-parser jaqsam it-test f'linji, ineħħi kummenti inline (isegwi l-istat tal-virgoletti biex jevita t-tneħħija ta' # ġewwa strings), ikejjel il-fond tal-indentazzjoni, u jwarrab linji vojta — jibni lista strutturata ta' tokens qabel ma tibda kwalunkwe analiżi.
  2. 2
    Parser recursive descent jibni s-siġra tad-data
    Il-parser jimxi mil-lista tat-tokens bl-użu tal-livell tal-indentazzjoni biex jiddetermina l-istruttura. Jagħraf elementi ta' sekwenza (- value), muftiehijiet ta' mapping (key: value), u blokki mibjuta. L-iskalari jgħaddu minn pass ta' koerċizzjoni ttipjata li timmaniġġja null, booleans, numri sħaħ (tiċħad valuri b'zero fil-bidu bħal 007 biex tevita korruzzjoni siekta tad-data), u floats — b'modalità mhux obbligatorja li żżomm barewords ta' YAML 1.1 bħal yes, no, on, u off bħala strings minflok ma tikkonvertihom għal booleans.
  3. 3
    Karatteristiċi YAML mhux appoġġati jiġu mmarkati, mhux imwarrba siekt
    Qabel ma toħroġ il-ħruġ, l-għodda tiskennja għal ankri (&name), aliases (*name), muftiehijiet ta' għaqda (<<:), skalari tal-blokk (| u >), immarkaturi ta' bosta dokumenti (---), u muftiehijiet ta' mapping duplikati. Kwalunkwe minn dawn titfa' twissija viżibbli minflok tipproduċi JSON b'mod ħażin sottilment.
  4. 4
    JSON jiġi serjalizzat jew YAML jinħareġ, imbagħad isir disponibbli
    Għal YAML→JSON, il-valur analizzat jgħaddi lil JSON.stringify bl-indentazzjoni magħżula tiegħek (2 spazji, 4 spazji, tab, jew immiminizzat). Għal JSON→YAML, emitter personalizzat jimxi mill-valur JavaScript analizzat u jipproduċi YAML indentat, jgeżwer skalari ta' string bejn virgoletti biss meta meħtieġ (eż. valuri li fihom :, #, jew jidhru bħal kliem riservati). Il-ħruġ jidher minnufih hekk kif tittajpja u jista' jiġi kkopjat jew imniżżel.

Għodod Relatati

Mistoqsijiet Frekwenti