JSON → YAML -muunnin

Muuta JSON siistiksi, helppolukuiseksi YAMLiksi Kubernetesia, Docker Composea, GitHub Actionsia tai Ansiblea varten, ja hallitse sisennystä, tyyliä ja lainausmerkkejä täysin.

Toimii selaimessaEi rekisteröitymistäMitään ei lähetetä

JSON-tulos

Näin käytät työkalua: JSON → YAML

  1. Liitä JSON vasempaan kenttään tai avaa .json-tiedosto.
  2. YAML ilmestyy oikealle kirjoittaessasi.
  3. Valitse sisennys (2 tai 4 välilyöntiä) ja tyyli: block (yksi avain riviä kohden) tai flow ({a: 1}/[x, y]) tietystä sisäkkäisyystasosta alkaen.
  4. Valitse lainausmerkkityyli ja valitse Järjestä avaimet, jos haluat aakkosjärjestyksen.
  5. Kopioi tai lataa YAML. Virheellisestä JSONista ilmoitetaan rivin, sarakkeen ja todennäköisen syyn kera.

Miksi muuntaa JSON YAMLiksi?

JSON sopii erinomaisesti koneille ja API:ille, mutta YAMLia on ihmisten helpompi lukea ja muokata: ei aaltosulkeita, ei pakollisia lainausmerkkejä ja tuki kommenteille. Useimmat infratyökalut, kuten Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI ja Ansible, konfiguroidaan YAMLilla, kun taas lähtödata (API-tuloste, kubectl get -o json, Terraformin tila) on usein JSONia.

Block- vs. flow-tyyli

Block-tyyli sijoittaa jokaisen avaimen ja listan alkion omalle rivilleen, ja se on asetustiedostojen tavanomainen valinta. Flow-tyyli käyttää JSONin tapaan inline-merkkejä {} ja [] ja pitää lyhyet lehtirakenteet tiiviinä. ”Flow tasolta 2” pitää kaksi ylintä tasoa block-tyylissä ja kirjoittaa syvemmät tasot riville, mikä toimii hyvin pitkille pienten objektien listoille, kuten porteille tai ympäristömuuttujille.

Turvallinen lainaus

Merkkijonot, jotka YAML-jäsennin voisi tulkita väärin, lainataan automaattisesti: arvot kuten 'no', 'on', '1.0', 'null', merkillä * tai & alkavat merkkijonot sekä merkkijonot, jotka sisältävät : . Valitse Aina yksinkertaiset tai Aina kaksinkertaiset, jos tyylioppaasi vaatii jokaisen merkkijonon lainaamista.

YAML 1.1:n ja 1.2:n sudenkuopat

Tämä muunnin noudattaa nykyistä YAML 1.2 -määrittelyä. Monet vanhemmat työkalut (PyYAML, Rubyn Psych, jotkin Kubernetes- ja Ansible-versiot) lukevat yhä YAML 1.1:tä, jossa säännöt eroavat:

  • Norja-ongelma: YAML 1.1:ssä country: no tarkoittaa arvoa false, joten Norjan maakoodi NO katoaa. Sama koskee arvoja yes, on, off, y ja n. YAML 1.2 käsittelee totuusarvoina vain arvot true ja false.
  • Oktaaliluvut: 0755 on 1.1:ssä oktaaliluku mutta 1.2:ssa tavallinen desimaaliluku; 1.2 käyttää muotoa 0o755. Lainaa tiedosto-oikeudet varmuuden vuoksi.
  • Seksagesimaaliluvut: 1.1:ssä 22:30 voi jäsentyä luvuksi 1350. Lainaa kellonajat ja porttimääritykset, kuten "8080:80".

JSON → YAML -suunta lainaa moniselitteiset merkkijonot ('no', 'on', 'y') automaattisesti, joten tuotettu YAML luetaan samoin molemmissa versioissa.

Usein kysytyt kysymykset

Onko muunnos häviötön?
Kyllä. Jokainen JSON-dokumentti on kelvollista YAML 1.2:ta, ja luotu YAML jäsentyy takaisin täsmälleen samaksi dataksi. Voit tarkistaa tämän painamalla Vaihda.
Miksi osa merkkijonoista on lainattu ja osa ei?
Asetuksella Vain tarvittaessa lainausmerkit lisätään vain, kun lainaamaton arvo muuttaisi merkitystään, esimerkiksi 'yes', '123' tai erikoismerkkejä sisältävät merkkijonot. Kaikki muu jätetään lainaamatta luettavuuden vuoksi.
Voinko lisätä tulokseen kommentteja?
JSONissa ei ole kommentteja, joten muunnettavaa ei ole, mutta voit lisätä YAMLiin # comments kopioinnin jälkeen.
Muuttuuko avainten järjestys?
Ei. Avaimet säilyttävät JSONin järjestyksen, ellet valitse Järjestä avaimet.
Pysyykö datani yksityisenä?
Kyllä. Muunnin toimii selaimessasi eikä tee syötteelläsi verkkopyyntöjä.

Aiheeseen liittyvät työkalut