Liigu põhisisu juurde

YAML JSON-i konverter tasuta

Teisenda YAML JSON-ks ja JSON YAML-ks mõlemas suunas. Kleebi kummassegi vormingusse ja saa teisendatud väljund koheselt — serveri üleslaadimist pole.

Töötab võrguühenduseta pärast laadimist
JSON väljund
Väljund ilmub siia…

Levinud kasutusviisid

  • Teisendage YAML JSON-le Kubernetes manifestideleTeisendage Kubernetes YAML JSON-le (või tagasi) tööriistadele, valideerimise skriptidele või otsesele rakendamisele API kaudu.
  • Docker Compose YAML / JSON teisendusTeisendage docker-compose.yml JSON-le inspekteerimiseks või tagasi YAML-le pärast programmimuudatusi.
  • CI/CD torustiku konfiguratsiooni teisendusTeisendage GitHub Actionsi, GitLab CI-d, CircleCI ja muud torustiku konfiguratsiooni YAML ja JSON formaatide vahel.
  • Rakenduse konfiguratsiooni faili teisendusTeisendage rakenduse konfiguratsiooni failid YAML ja JSON vahel — kasulik raamistiku vahetamisel või konfiguratsiooni jagamisel tööriistade vahel.
  • OpenAPI / Swagger spetsifikatsiooni teisendusTeisendage OpenAPI 3.x või Swagger 2.0 API spetsifikatsioonid YAML ja JSON formaatide vahel. Mõlemad formaadid on kehtivad ja vastastikku asendatavad.

Kuidas see töötab

Mõlemad teisenduse suunad — YAML-ist JSON-iks ja JSON-ist YAML-iks — töötavad täielikult sinu brauseris, kasutades käsitsi kirjutatud parserit ja väljastajat, mis on integreeritud lehele, ilma kolmanda osapoole YAML-teegi ja serveri kaasamiseta. Loogika elab ühes TypeScript moodulis (lib/yamljson.ts), mis käsitleb kaardistusi, jadasid, skalaare, jutumärkides stringe ja reasisese kommentaari eemaldamist.

  1. 1
    Sisend eeltöödeldakse rea kaupa
    YAML-sisendi jaoks jagab parser teksti ridadeks, eemaldab reasisesed kommentaarid (jälgides jutumärkide olekut, et vältida #-i eemaldamist stringide sees), mõõdab sisenesügavust ja jätab kõrvale tühjad read — ehitades struktureeritud tokenite loendi enne mis tahes parsimise algust.
  2. 2
    Rekursiivse laskumise parser ehitab andmepuu
    Parser käib tokenite loendi läbi, kasutades sisennitaset struktuuri määramiseks. See tuvastab jadaelemendid (- väärtus), kaardistusvõtmed (võti: väärtus) ja pesastatud plokid. Skalaarid läbivad tüübitud sunniviisulise sammu, mis käsitleb null'i, booleaneid, täisarve (lükates tagasi alguse-nulliga väärtused nagu 007, et vältida vaikset andmerikkumist) ja ujukomaarve — koos valikulise režiimiga, mis hoiab YAML 1.1 paljassõnad nagu yes, no, on ja off stringidena, selle asemel et teisendada need booleanideks.
  3. 3
    Toetamata YAML-i funktsioonid märgitakse, mitte ei jäeta vaikselt kõrvale
    Enne väljundi väljastamist skaneerib tööriist ankruid (&nimi), aliaseid (*nimi), ühendusvõtmeid (<<:), plokiskalaare (| ja >), mitme-dokumendi markereid (---) ja duplikaatseid kaardistusvõtmeid. Iga neist käivitab nähtava hoiatuse, selle asemel et toota peenelt vale JSON-i.
  4. 4
    JSON serialiseeritakse või YAML väljastatakse, seejärel tehakse saadavaks
    YAML→JSON jaoks edastatakse parsitud väärtus JSON.stringify'le su valitud sisennega (2 tühikut, 4 tühikut, tabeldus või minifitseeritud). JSON→YAML jaoks käib kohandatud väljastaja läbi parsitud JavaScripti väärtuse ja toodab sisennitud YAML-i, jutumärgistades stringiskalaare ainult vajadusel (nt väärtused, mis sisaldavad :, # või näevad välja nagu reserveeritud sõnad). Väljund ilmub koheselt kirjutades ja saab kopeerida või alla laadida.

Seotud tööriistad

Korduma kippuvad küsimused