JSON za YAML pretvarač
Pretvorite JSON strukturu u čisti YAML format. Idealno za Kubernetes manifeste i konfiguracije oblaka.
Pretvorite JSON strukturu u čisti YAML format. Idealno za Kubernetes manifeste i konfiguracije oblaka.
Prelazak s JSON-a na YAML uglavnom se odnosi na to da se podaci učine čitljivijima za ljude. Oba formata opisuju iste vrste struktura — objekte/mape, nizove/sekvence, skalare — ali YAML-ova sintaksa koja se temelji na uvlačenju, izborno citiranje i podrška za komentare olakšavaju ručno skeniranje i uređivanje. Konfiguracijske datoteke su kanonski slučaj upotrebe: Kubernetes manifesti, CI tijekovi rada, Ansible playbooks i deseci drugih alata odabrali su YAML upravo zato što su njihovi primarni urednici ljudi.
Ovaj pretvarač koristi js-yaml za serijalizaciju raščlanjenog JSON objekta u YAML. Rezultat točno čuva strukturu podataka uz primjenu YAML konvencija: uvlačenje za gniježđenje, popisi za nizove, parovi ključ-vrijednost za svojstva objekta. JSON-ovo strogo dvostruko navođenje je opušteno; u izlazu se navode samo nizovi koji sadrže posebne znakove ili koji izgledaju kao drugi tipovi.
Konverzija čuva informacije osim tamo gdje YAML dodaje izražajnost koju JSON nije imao. Komentari se ne mogu rekonstruirati (JSON ih nije imao). Reference sidra i pseudonima mogu potencijalno komprimirati ponovljene strukture, ali se ne generiraju automatski; izlaz proširuje sve reference u liniji.
YAML je dramatično čitljiviji od JSON-a za ljude koji uređuju konfiguraciju. Uvlačenje zamjenjuje ugniježđivanje vitičastih zagrada, navodnici su izborni za jednostavne nizove, a komentari mogu dokumentirati neočite postavke. Za datoteke koje održavaju ljudi — konfiguracija aplikacije, infrastruktura kao kod, izgradnja cjevovoda — YAML je gotovo uvijek pravi odredišni format.
Moderni infrastrukturni alati u velikoj većini favoriziraju YAML. Kubernetes, Helm charts, Ansible, GitHub Actions, GitLab CI, Docker Compose i mnogi drugi alati preferiraju ili zahtijevaju YAML. Pretvaranje JSON izvoza iz jednog sustava u YAML konfiguraciju za drugi je rutinski korak integracije.
Zalijepite JSON, nabavite YAML.
js-yaml-ova dump funkcija hoda stablom JavaScript objekta i emitira YAML koristeći konfigurabilno oblikovanje. Dubina uvlačenja, širina linije, prag stila toka i rukovanje citatima su svi parametri. Zadane postavke proizvode YAML u blokovskom stilu s uvlačenjem od 2 razmaka, što je najčešća konvencija.
Citiranje nizova slijedi YAML-ova pravila: nizovi koji izgledaju kao drugi tipovi (brojevi, booleovi, null, datumi) citiraju se kako bi se prisililo tumačenje niza; nizovi koji sadrže posebne znakove (dvotočke, hash, vodeće crtice) su citirani; jednostavni abecedni nizovi ostaju bez navodnika.
Izlaz je kompatibilan s YAML 1.2 i čisto analizira s js-yaml, PyYAML i drugim velikim YAML bibliotekama. Idempotentna kružna putovanja (JSON → YAML → JSON) čuvaju podatke, iako YAML reprezentacija bira kanonsko oblikovanje koje se može razlikovati od rukom pisanog ekvivalenta.