JSON u YAML pretvarač
Pretvori JSON u YAML i YAML u JSON u pregledaču, uz podršku za sidra, ključeve spajanja i fajlove sa više dokumenata. Ništa se ne otprema.
Kako da koristiš JSON u YAML pretvarač
- Izaberi smer u odeljku Pretvaranje: JSON → YAML ili YAML → JSON.
- Nalepi podatke ili klikni Otvori fajl da učitaš
.json,.yamlili.ymlfajl (do 10 MB). - Izaberi Uvlačenje (2 ili 4 razmaka) i, ako želiš, Sortiraj ključeve abecednim redom.
- Klikni Pretvori ili samo nastavi da kucaš: rezultat se osvežava automatski. Ako unos nije ispravan, poruka o grešci navodi red i kolonu problema.
- Kopiraj ili preuzmi rezultat. Zameni smer šalje rezultat nazad u unos da ga pretvoriš u suprotnom smeru.
JSON i YAML: isti podaci, drugačija sintaksa
YAML je u praksi nadskup JSON-a: svaki JSON dokument opisuje podatke koje YAML može da izrazi, a YAML dodaje lakšu sintaksu koju ljudi lakše čitaju i uređuju. Zato se Kubernetes manifesti, Docker Compose fajlovi, GitHub Actions i GitLab CI tokovi, Ansible playbook-ovi i OpenAPI specifikacije obično pišu u YAML-u, dok API-ji i programi razmenjuju JSON.
Isti podaci u oba formata:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Pretvarač piše YAML u blok stilu: jedan ključ po redu, liste sa crticama i uvučene ugnežđene objekte. Dugački stringovi se nikada ne prelamaju, a stringovi u više redova koriste doslovni stil | da prelomi redova ostanu tačni. Stringovi koje bi YAML inače pročitao kao drugi tip stavljaju se pod navodnike: "yes", "1.0" ili "null" ostaju stringovi i posle kruga pretvaranja. Sortiraj ključeve abecedno uređuje ključeve svakog objekta, što olakšava poređenje dva konfiguraciona fajla.
YAML → JSON
YAML se čita sa osnovnom šemom YAML 1.2, istim pravilima koja koristi većina modernih alata:
true/false, brojevi inull(ili~) postaju JSON vrednosti;yes,no,onioffostaju stringovi, kako zahteva specifikacija YAML 1.2.- Sidra i aliasi (
&base,*base) se razvijaju, a ključevi spajanja (<<: *base), uobičajeni u CI fajlovima, su podržani. - Fajl sa više dokumenata razdvojenih sa
---postaje JSON niz sa po jednim elementom za svaki dokument, a poruka kaže koliko ih je spojeno. - Komentari se odbacuju jer JSON nema komentare.
.infi.nannemaju JSON ekvivalent; upisuju se kao stringovi"Infinity"i"NaN".
Da zaštiti tvoj pregledač od fajlova tipa „billion laughs“, u kojima se nekoliko aliasa širi u milijarde vrednosti, dokument koji se širi na više od milion vrednosti se odbija.
Česte YAML greške
- Tabulatori za uvlačenje: YAML dozvoljava samo razmake.
- Nedosledno uvlačenje: stavke iste liste ili objekta moraju početi u istoj koloni.
- Razmak posle dvotačke koji nedostaje:
key:valueje jedan string, dok jekey: valuepar ključ-vrednost. - Posebni znaci bez navodnika: vrednost koja počinje sa
@, apostrofom nagore (backtick),*,&ili!, ili koja sadrži:ili#, mora biti pod navodnicima.
Česta pitanja
Da li se moj fajl šalje na server?
Ne. Pretvaranje se izvršava u tvom pregledaču, a tvoji konfiguracioni fajlovi, tajne ili API podaci nikada ne napuštaju računar.
Zašto se „yes“ i „no“ ne pretvaraju u logičke vrednosti?
Od YAML 1.2 samo true i false su logičke vrednosti. Stariji YAML 1.1 parseri tretirali su yes, no, on i off kao logičke vrednosti, što je izazvalo čuveni „problem Norveške“ (oznaka zemlje NO pročitana kao false). Ovaj alat sledi YAML 1.2.
Da li se YAML komentari čuvaju?
Ne. JSON nema komentare, pa se oni gube pri pretvaranju YAML → JSON. Pri pretvaranju JSON → YAML možeš naknadno da dodaš komentare u rezultat.
Mogu li da pretvorim Kubernetes fajl sa više resursa?
Da. Svaki resurs razdvojen sa --- postaje jedan element JSON niza. Pretvaranje tog niza nazad u YAML daje jedan dokument koji sadrži listu.
Da li pretvarač menja redosled ključeva?
Ne, osim ako označiš Sortiraj ključeve: ključevi zadržavaju redosled u kojem se pojavljuju u tvom unosu. Jedini izuzetak potiče od samog JavaScripta: ključevi koji su celi brojevi, poput "10" ili "2", stavljaju se prvi, u rastućem redosledu.
Srodni alati
- JSON formater i validator Besplatan JSON formater i validator koji sređuje, minifikuje i proverava JSON u pregledaču, sa sintaksnim greškama prijavljenim po redu i koloni.
- JSON u CSV pretvarač Pretvori JSON u CSV i CSV nazad u JSON u pregledaču. Ugnežđeni ključevi se spljoštavaju u kolone, razdvajači se prepoznaju, a ništa se ne otprema.
- JSON u XML pretvarač Pretvori JSON u XML i XML u JSON u pregledaču, uz obradu atributa, ponovljenih elemenata i CDATA. Ništa se ne otprema na server.