JSON kohteeseen YAML-muunnin
Muunna JSON-rakenne puhtaaseen YAML-muotoon. Ihanteellinen Kubernetes-luetteloille ja pilvikokoonpanoille.
Muunna JSON-rakenne puhtaaseen YAML-muotoon. Ihanteellinen Kubernetes-luetteloille ja pilvikokoonpanoille.
Siirtyminen JSONista YAML:iin on lähinnä tietojen tekeminen luettavammaksi ihmisille. Molemmat muodot kuvaavat samanlaisia rakenteita – objektit/kartat, taulukot/sekvenssit, skalaarit – mutta YAML:n sisennykseen perustuva syntaksi, valinnainen lainaus ja kommenttien tuki helpottavat skannausta ja muokkaamista käsin. Määritystiedostot ovat kanonisia käyttötapauksia: Kubernetes-luettelot, CI-työnkulut, Ansible playbooks ja kymmenet muut työkalut valitsivat YAML:n nimenomaan, koska niiden ensisijaiset editorit ovat ihmisiä.
Tämä muunnin käyttää js-yamlia sarjoittamaan jäsennetyn JSON-objektin YAML:ksi. Tulos säilyttää datan rakenteen täsmälleen samalla kun sovelletaan YAML-käytäntöjä: sisennys sisäkkäin, luettelot taulukoille, avainarvoparit objektien ominaisuuksille. JSONin tiukka kaksoislainaus on rento; tulosteessa lainataan vain merkkijonoja, jotka sisältävät erikoismerkkejä tai jotka näyttävät muilta tyypeiltä.
Muuntaminen on tietoa säilyttävää paitsi silloin, kun YAML lisää ilmaisukykyä, jota JSONilla ei ollut. Kommentteja ei voi rekonstruoida (JSON:lla ei ollut yhtään). Ankkuri- ja aliasviitteet voivat mahdollisesti pakata toistuvia rakenteita, mutta niitä ei luoda automaattisesti; tulos laajentaa kaikki viittaukset riviin.
YAML on huomattavasti luettavampi kuin JSON ihmisten muokkaamiseen. Sisennys korvaa aaltosulkujen sisäkkäisyyden, lainausmerkit ovat valinnaisia yksinkertaisissa merkkijonoissa, ja kommentit voivat dokumentoida ei-ilmeisiä asetuksia. Ihmisten ylläpitämille tiedostoille – sovellusmääritykset, infrastruktuuri koodina, putkien rakentaminen – YAML on lähes aina oikea kohdemuoto.
Nykyaikaiset infrastruktuurityökalut suosivat ylivoimaisesti YAML:ia. Kubernetes, Helm charts, Ansible, GitHub Actions, GitLab CI, Docker Compose ja monet muut työkalut joko suosivat tai vaativat YAML:a. JSON-vientien muuntaminen yhdestä järjestelmästä toisen YAML-kokoonpanoksi on rutiiniintegrointivaihe.
Liitä JSON, hanki YAML.
js-yaml:n dump-funktio kulkee JavaScript-objektipuussa ja lähettää YAML:n konfiguroitavalla muotoilulla. Sisennyssyvyys, viivan leveys, kulkutyylin kynnys ja tarjouksen käsittely ovat kaikki parametreja. Oletusasetukset tuottavat lohkotyylisen YAML:n, jossa on 2-välin sisennys, yleisin käytäntö.
Merkkijonojen lainaus noudattaa YAML:n sääntöjä: merkkijonot, jotka näyttävät muilta tyypeiltä (numerot, loogiset arvot, null, päivämäärät), lainataan pakottamaan merkkijonojen tulkinta; merkkijonot, jotka sisältävät erikoismerkkejä (kaksoispisteet, tiivisteet, väliviivat) lainataan; yksinkertaiset aakkosmerkit jätetään lainaamatta.
Tulos on YAML 1.2 -yhteensopiva ja jäsentää puhtaasti js-yaml-, PyYAML- ja muiden suurten YAML-kirjastojen kanssa. Idempotentit edestakaiset (JSON → YAML → JSON) säilyttävät tiedot, vaikka YAML-esitys valitsee kanonisen muotoilun, joka voi poiketa käsin kirjoitetusta vastaavasta.