Siirry pääsisältöön

YAML–JSON-muunnin ilmaiseksi

Muunna YAML JSON:ksi ja JSON YAML:ksi molempiin suuntiin. Liitä kumpaan tahansa muotoon ja saat muunnetun tuloksen välittömästi — ei palvelimelle latausta.

Toimii offline-tilassa kerran ladattuna
JSON-tuloste
Tuloste ilmestyy tähän…

Yleiset käyttötavat

  • Muunna YAML JSON:ksi Kubernetes-manifesteilleMuunna Kubernetes YAML:ksi JSON:ksi (tai päinvastoin) työkaluille, validaatiokomentosarjoille tai suoralle API:n kautta soveltamiselle.
  • Docker Compose YAML / JSON MuuntaminenMuunna docker-compose.yml JSON:ksi tarkastusta varten tai takaisin YAML:ksi ohjelmallisten muokkausten jälkeen.
  • CI/CD-putken Kokoonpano MuuntaminenMuunna GitHub Actions, GitLab CI, CircleCI ja muut putken kokoonpanot YAML- ja JSON-muotojen välillä.
  • Sovelluksen Kokoonpano-tiedoston MuuntaminenMuunna sovelluksen kokoonpanotiedostot YAML:n ja JSON:n välillä: hyödyllinen vaihdettaessa kehyksiä tai jakamalla kokoonpanoja työkalujen välillä.
  • OpenAPI / Swagger Spec MuuntaminenMuunna OpenAPI 3.x tai Swagger 2.0 API-spesifikaatiot YAML- ja JSON-muotojen välillä. Molemmat muodot ovat kelvollisia ja vaihdettavissa.

Miten se toimii

Molemmat muunnossuunnat — YAML:sta JSON:iin ja JSON:sta YAML:iin — tapahtuvat kokonaan selaimessasi käsin kirjoitetulla jäsentimellä ja piirtäjällä, jotka on rakennettu suoraan sivuun, ilman kolmannen osapuolen YAML-kirjastoa ja ilman palvelinta. Logiikka asuu yhdessä TypeScript-moduulissa (lib/yamljson.ts), joka käsittelee kartoitukset, sekvenssit, skalaarit, lainatut merkkijonot ja inline-kommenttien poiston.

  1. 1
    Syöte esikäsitellään rivi riviltä
    YAML-syötteelle jäsennin jakaa tekstin riveiksi, poistaa inline-kommentit (seuraten lainaustilaa, jotta #-merkkiä ei poisteta merkkijonojen sisältä), mittaa sisennyssyvyyden, ja hylkää tyhjät rivit — rakentaen jäsennetyn tokenilistan ennen minkään jäsennyksen alkua.
  2. 2
    Rekursiivinen laskeuma-jäsennin rakentaa datapuun
    Jäsennin käy tokenilistaa läpi käyttäen sisennystasoa rakenteen määrittämiseen. Se tunnistaa sekvenssin alkiot (- arvo), kartoituksen avaimet (avain: arvo), ja sisäkkäiset lohkot. Skalaarit käyvät läpi tyypitetyn muunnosvaiheen, joka käsittelee nullin, totuusarvot, kokonaisluvut (hyljäten johtavan nollan arvot kuten 007 hiljaisen datavioittuman välttämiseksi), ja liukuluvut — valinnaisella tilalla, joka pitää YAML 1.1 -avainsanat kuten yes, no, on ja off merkkijonoina totuusarvoiksi muuntamisen sijaan.
  3. 3
    Tukemattomat YAML-ominaisuudet merkitään, ei hiljaa pudoteta
    Ennen tulosteen luontia työkalu skannaa ankkureita (&nimi), aliaksia (*nimi), yhdistämisavaimia (<<:), lohkoskalaareja (| ja >), monidokumenttimerkkejä (---), ja kaksoiskappaleita kartoitusavaimissa. Mikä tahansa näistä laukaisee näkyvän varoituksen sen sijaan, että se tuottaisi hienovaraisesti väärän JSON:in.
  4. 4
    JSON serialisoidaan tai YAML piirretään, ja sitten asetetaan saataville
    YAML→JSON:lle jäsennetty arvo annetaan JSON.stringify-toiminnolle valitsemallasi sisennyksellä (2 välilyöntiä, 4 välilyöntiä, sarkain tai tiivistetty). JSON→YAML:lle mukautettu piirtäjä käy läpi jäsennetyn JavaScript-arvon ja tuottaa sisennetyn YAML:in, lainaten merkkijonoskalaareja vain tarvittaessa (esim. arvot, jotka sisältävät :, # tai näyttävät varatuilta sanoilta). Tuloste ilmestyy välittömästi kirjoittaessasi ja voidaan kopioida tai ladata.

Liittyvät työkalut

Usein kysytyt kysymykset