JSON v YAML pretvornik
Pretvorite strukturo JSON v čisto obliko YAML. Idealno za manifeste Kubernetes in konfiguracije v oblaku.
Pretvorite strukturo JSON v čisto obliko YAML. Idealno za manifeste Kubernetes in konfiguracije v oblaku.
Prehod z JSON na YAML je večinoma namenjen temu, da naredimo podatke bolj berljivi za ljudi. Oba formata opisujeta enake vrste struktur – objekte/zemljevide, nize/zaporedja, skalarje – vendar sintaksa YAML, ki temelji na zamikih, neobvezno navajanje in podpora za komentarje olajšajo ročno skeniranje in urejanje. Konfiguracijske datoteke so kanoničen primer uporabe: manifesti Kubernetes, delovni tokovi CI, priročniki Ansible in na desetine drugih orodij so izbrali YAML posebej zato, ker so njihovi primarni urejevalci ljudje.
Ta pretvornik uporablja js-yaml za serializacijo razčlenjenega predmeta JSON v YAML. Rezultat ohranja strukturo podatkov natančno med uporabo konvencij YAML: zamik za gnezdenje, seznami za nize, pari ključ-vrednost za lastnosti objekta. Strogo dvojno navajanje JSON je sproščeno; v izhodu so navedeni samo nizi, ki vsebujejo posebne znake ali so videti kot drugi tipi.
Pretvorba ohranja informacije, razen kjer YAML doda izraznost, ki je JSON ni imel. Komentarjev ni mogoče rekonstruirati (JSON jih ni imel). Sklici na sidra in vzdevke bi lahko potencialno stisnili ponavljajoče se strukture, vendar niso ustvarjeni samodejno; izhod razširi vse reference v vrstici.
YAML je bistveno bolj berljiv kot JSON za ljudi, ki urejajo konfiguracijo. Zamik nadomesti gnezdenje oklepajev, narekovaji so neobvezni za preproste nize, komentarji pa lahko dokumentirajo neočitne nastavitve. Za datoteke, ki jih vzdržujejo ljudje – konfiguracija aplikacije, infrastruktura kot koda, izgradnja cevovodov – je YAML skoraj vedno pravi ciljni format.
Sodobna infrastrukturna orodja v veliki večini dajejo prednost YAML. Kubernetes, Helm charts, Ansible, GitHub Actions, GitLab CI, Docker Compose in številna druga orodja raje ali zahtevajo YAML. Pretvarjanje izvozov JSON iz enega sistema v konfiguracijo YAML za drugega je rutinski korak integracije.
Prilepite JSON, pridobite YAML.
Funkcija dump js-yaml hodi po drevesu objektov JavaScript in oddaja YAML z nastavljivim oblikovanjem. Globina zamika, širina vrstice, prag sloga toka in obdelava narekovajev so vsi parametri. Privzete nastavitve ustvarijo YAML v slogu blokov z zamikom 2 presledkov, kar je najpogostejša konvencija.
Navajanje nizov sledi pravilom YAML: nizi, ki so videti kot drugi tipi (števila, logične vrednosti, nič, datumi), so narekovani, da vsilijo interpretacijo nizov; nizi, ki vsebujejo posebne znake (dvopičja, ključi, začetni pomišljaji), so v narekovajih; preprosti abecedni nizi ostanejo brez narekovajev.
Izhod je združljiv z YAML 1.2 in razčlenjuje čisto z js-yaml, PyYAML in drugimi večjimi knjižnicami YAML. Idempotentna povratna potovanja (JSON → YAML → JSON) ohranijo podatke, čeprav predstavitev YAML izbere kanonično oblikovanje, ki se lahko razlikuje od ročno napisanega ekvivalenta.