Što je ovaj alat?
YAML je format izbora za većinu modernih konfiguracijskih datoteka — Kubernetes manifesti, Docker Compose, GitHub Actions i GitLab CI cjevovodi, Ansible playbook-ovi — jer je čitljiviji od JSON-a za ljude koji ručno uređuju datoteke: navodnici nisu potrebni oko većine ključeva, nema zareza na kraju koje biste mogli pogrešno postaviti, a komentari su podržani. JSON, s druge strane, format je koji većina API-ja i programskih jezika izvorno proizvodi i konzumira.
Ovaj alat premošćuje njih dvoje koristeći js-yaml, široko korištenu JavaScript implementaciju YAML specifikacije, tako da parsiranje i generiranje slijede ista pravila koja bi primijenio alat svjestan YAML-a poput `kubectl` ili CI runner.
Pretvorba JSON-a u YAML pretvara objekte u uvučene blokove key: value, a nizove u stavke liste s prefiksom `-`. Pretvorba YAML-a u JSON radi obrnuto, a također razrješava YAML kratice tipova (poput necitiranog `true`, `null`, ili brojeva) u njihove ispravne JSON tipove.
Zašto ga koristiti?
- Dvosmjerno — pretvorite JSON u YAML ili YAML u JSON s istog ekrana.
- Parsiranje i generiranje temeljeno na standardima putem js-yaml, tako da izlaz odgovara onome što stvarni YAML alati (Kubernetes, CI sustavi, Ansible) očekuju.
- Rukuje ugniježđenim objektima i nizovima na bilo kojoj dubini, pretvarajući između YAML-ove strukture temeljene na uvlačenju i JSON-ovih vitičastih i uglatih zagrada.
- Ispravno tumači YAML kratice tipova — necitirani true/false, null i numeričke vrijednosti postaju ispravni JSON tipovi umjesto stringova.
- Kopirajte u međuspremnik ili preuzmite kao .json ili .yaml datoteku.
- 100% na strani klijenta — ništa što zalijepite se ne šalje nikamo.
Kako ga koristiti
- Odaberite smjer: "JSON → YAML" ili "YAML → JSON".
- Zalijepite svoje podatke u okvir za unos.
- Kliknite "Convert".
- Pregledajte rezultat, zatim ga kopirajte ili kliknite "Download" da spremite datoteku.
Primjer
Ulaz
{"name":"Alice","roles":["admin","editor"],"active":true}Izlaz
name: Alice
roles:
- admin
- editor
active: true
Primijetite kako niz postaje lista stavki s crticom pod "roles", a boolean ostaje necitiran true umjesto da postane string "true".
Praktični savjeti
- Pisanje Kubernetes manifesta ili GitHub Actions workflowa: nacrtajte strukturu kao JSON (mnogi editori i AI alati pouzdanije generiraju JSON), zatim pretvorite u YAML za konačnu datoteku.
- Debagiranje YAML konfiguracije koja se ne ponaša ispravno: pretvorite je u JSON da vidite točno koje su vrijednosti stringovi, brojevi ili booleani — YAML-ova fleksibilna sintaksa može sakriti nepodudaranja tipova koja su očita u JSON-u.
- Ako vaš JSON sadrži ključeve sa specijalnim znakovima ili koji počinju brojem, js-yaml će ih automatski citirati u YAML izlazu kako bi se ispravno parsirali natrag.
Zašto je prisilna pretvorba tipova najzahtjevniji dio YAML-a
Najveća prednost YAML-a u odnosu na JSON u smislu upotrebljivosti — nepotreba navodnika oko većine vrijednosti — ujedno je i njegov najveći izvor suptilnih grešaka. Klasičan primjer je "Norveški problem": u YAML 1.1 (koji koriste mnogi stariji parseri), necitirana vrijednost `no` tumači se kao boolean `false`, a ne kao string "no", što je u stvarnom svijetu rušilo konfiguracije s državnim kodovima koje su navodile Norvešku. Ovaj alat slijedi YAML 1.2 specifikaciju, koja je suzila skup necitiranih vrijednosti tretiranih kao booleani na samo `true` i `false` (i njihove varijante velikih/malih slova), smanjujući — iako ne u potpunosti uklanjajući — ovu vrstu iznenađenja. Kad niste sigurni kako će se vrijednost tipizirati, eksplicitno citiranje u vašem YAML-u najsigurniji je izbor.
Često postavljana pitanja
Čuvaju li se YAML komentari prilikom pretvorbe u JSON i natrag?
Ne. JSON nema koncept komentara, pa pretvorba YAML-a u JSON odbacuje sve # komentare iz izvora. Ako taj JSON pretvorite natrag u YAML, komentari se neće vratiti — ovo je svojstveno ograničenje formata, a ne greška u alatu.
Kako alat rukuje YAML sidrima i aliasima (& i *)?
Osnovni parser (js-yaml) razrješava sidra i aliase prije proizvodnje JSON-a, pa će se YAML datoteka koja koristi & sidra i * aliase za ponovno korištenje bloka podataka pretvoriti u JSON s tim podacima potpuno proširenim na svakom mjestu gdje se referenciraju.
Zašto je moj YAML broj došao kao string u JSON-u, ili obrnuto?
Ako je vrijednost citirana u YAML izvoru (npr. version: "3.10"), namjerno se tretira kao string — ovo je važno jer necitirani YAML brojevi poput 3.10 mogu izgubiti krajnju nulu kad se parsiraju kao float. Citirajte vrijednost u izvornom YAML-u ako je specifično trebate tretiranu kao tekst.
Mogu li pretvoriti YAML datoteku s više dokumenata (odvojenih s ---)?
Ovaj alat pretvara jedan YAML dokument odjednom. Ako vaša datoteka ima više dokumenata odvojenih --- oznakama, pretvorite jedan dio odjednom, ili uklonite odjeljivače i spojite ih u jedan dokument prvo ako to odgovara vašem slučaju upotrebe.
Šalju li se moji podaci negdje?
Ne. Pretvorba se odvija u potpunosti u vašem pregledniku putem js-yaml biblioteke — ništa se ne šalje na server, što ga čini sigurnim za korištenje sa stvarnim konfiguracijskim datotekama, uključujući one s internim imenima hostova ili infrastrukturnim detaljima.