Čo je tento nástroj?
YAML je obľúbený formát pre väčšinu moderných konfiguračných súborov — manifesty Kubernetes, Docker Compose, pipeline GitHub Actions a GitLab CI, Ansible playbooky — pretože je pre ľudí čitateľnejší než JSON pri ručnej úprave: väčšina kľúčov nepotrebuje úvodzovky, netreba riešiť chybné čiarky na konci a sú podporované komentáre. JSON je zase formát, ktorý väčšina API a programovacích jazykov natívne produkuje a spracováva.
Tento nástroj premosťuje oba formáty pomocou knižnice js-yaml, rozšírenej JavaScriptovej implementácie špecifikácie YAML, takže parsovanie a generovanie sa riadi rovnakými pravidlami ako u nástrojov znalých YAML, napríklad `kubectl` alebo CI runner.
Prevod JSON na YAML mení objekty na odsadené bloky key: value a polia na zoznamy položiek s predponou `-`. Prevod YAML na JSON robí opak a zároveň premieňa špecifické skratky typov YAML (napríklad neuvedené `true`, `null` alebo čísla) na ich správne typy JSON.
Prečo ho používať?
- Obojsmerný — konvertujte JSON na YAML alebo YAML na JSON z tej istej obrazovky.
- Parsovanie a generovanie podľa štandardu vďaka js-yaml, takže výstup zodpovedá tomu, čo očakávajú skutočné nástroje pre YAML (Kubernetes, CI systémy, Ansible).
- Zvláda vnorené objekty a polia v akejkoľvek hĺbke, prevádza medzi odsadzovanou štruktúrou YAML a zloženými a hranatými zátvorkami JSON.
- Správne interpretuje skratky typov YAML — neuvedené true/false, null a číselné hodnoty sa stanú správnymi typmi JSON namiesto reťazcov.
- Kopírovanie do schránky alebo stiahnutie ako súbor .json alebo .yaml.
- 100 % na strane klienta — nič, čo vložíte, sa nikam nenahráva.
Ako sa používa
- Vyberte smer: "JSON → YAML" alebo "YAML → JSON".
- Vložte svoje dáta do vstupného poľa.
- Kliknite na "Convert".
- Skontrolujte výsledok a potom ho skopírujte, alebo kliknite na "Download" a uložte súbor.
Príklad
Vstup
{"name":"Alice","roles":["admin","editor"],"active":true}Výstup
name: Alice
roles:
- admin
- editor
active: true
Všimnite si, že pole sa stane zoznamom položiek s pomlčkou pod "roles" a booleovská hodnota zostáva neuvedená true, nie reťazec "true".
Praktické tipy
- Píšete manifest Kubernetes alebo workflow GitHub Actions? Naskicujte štruktúru ako JSON (mnohé editory a AI nástroje generujú JSON spoľahlivejšie) a potom ju pre finálny súbor prevediete na YAML.
- Ladíte konfiguráciu YAML, ktorá sa správa nesprávne? Preveďte ju na JSON, aby ste presne videli, ktoré hodnoty sú reťazce, čísla alebo booleovské hodnoty — flexibilná syntax YAML dokáže skryť nezrovnalosti typov, ktoré sú v JSON zjavné na prvý pohľad.
- Ak váš JSON obsahuje kľúče so špeciálnymi znakmi alebo začínajúce číslom, js-yaml ich vo výstupe YAML automaticky uvedie v úvodzovkách, aby sa pri spätnom čítaní správne parsovali.
Prečo je premena typov najzradnejšou časťou YAML
Najväčšia výhoda YAML oproti JSON — že väčšina hodnôt nepotrebuje úvodzovky — je zároveň najväčším zdrojom nenápadných chýb. Klasickým príkladom je tzv. „nórsky problém“: v YAML 1.1 (ktorý používa mnoho starších parserov) sa neuvedená hodnota `no` interpretuje ako booleovská `false`, nie ako reťazec "no", čo v praxi rozbilo reálne konfigurácie kódov krajín obsahujúce Nórsko. Tento nástroj sa riadi špecifikáciou YAML 1.2, ktorá zúžila množinu neuvedených hodnôt považovaných za booleovské len na `true` a `false` (a ich variácie veľkosti písmen), čím sa tento druh prekvapení obmedzil — nie však úplne odstránil. Ak si nie ste istí, ako bude hodnota interpretovaná, najbezpečnejšie je uviesť ju v YAML výslovne v úvodzovkách.
Časté otázky
Zachovávajú sa komentáre YAML pri prevode na JSON a späť?
Nie. JSON nepozná koncept komentárov, takže pri prevode YAML na JSON sa všetky komentáre s # zo zdroja zahodia. Ak potom prevediete JSON späť na YAML, komentáre sa znovu neobjavia — je to vlastné obmedzenie formátu, nie chyba nástroja.
Ako nástroj spracúva kotvy a aliasy YAML (& a *)?
Použitý parser (js-yaml) rozlíši kotvy a aliasy ešte pred vytvorením JSON, takže súbor YAML, ktorý pomocou kotiev & a aliasov * opakovane používa jeden blok dát, sa prevedie na JSON s dátami plne rozpísanými na každom mieste, kde sa naň odkazuje.
Prečo sa moje číslo z YAML v JSON zobrazilo ako reťazec, alebo naopak?
Ak je hodnota v zdrojovom YAML uvedená v úvodzovkách (napr. version: "3.10"), zámerne sa berie ako reťazec — je to dôležité, pretože neuvedené čísla YAML ako 3.10 môžu pri parsovaní ako float stratiť koncovú nulu. Ak potrebujete, aby sa s hodnotou zaobchádzalo ako s textom, uveďte ju v zdrojovom YAML v úvodzovkách.
Môžem konvertovať súbor YAML s viacerými dokumentmi (oddelenými pomocou ---)?
Tento nástroj konvertuje vždy jeden dokument YAML naraz. Ak má váš súbor viacero dokumentov oddelených značkami ---, konvertujte ich postupne po jednom, alebo ak vám to vyhovuje, oddeľovače najskôr odstráňte a dokumenty zlúčte do jedného.
Nahrávajú sa moje dáta niekam?
Nie. Prevod prebieha úplne vo vašom prehliadači pomocou knižnice js-yaml — nič sa neposiela na server, čo umožňuje bezpečne pracovať aj so skutočnými konfiguračnými súbormi, vrátane tých s internými názvami hostiteľov alebo detailmi infraštruktúry.