Převodník JSON na YAML
Převáděj JSON na YAML a YAML na JSON ve svém prohlížeči, s podporou kotev, slučovacích klíčů a souborů s více dokumenty. Nic se nenahrává.
Jak používat převodník JSON na YAML
- Zvol směr: JSON → YAML nebo YAML → JSON.
- Vlož data, nebo klikni na Otevřít soubor a načti soubor
.json,.yamlči.yml(do 10 MB). - Vyber Odsazení (2 nebo 4 mezery) a případně Seřadit klíče podle abecedy.
- Klikni na Převést, nebo prostě piš dál: výsledek se aktualizuje automaticky. Pokud je vstup neplatný, chybové hlášení uvádí řádek a sloupec problému.
- Výsledek zkopíruj nebo stáhni. Obrátit směr pošle výstup zpět do vstupu, abys ho mohl převést opačným směrem.
JSON a YAML: stejná data, jiná syntaxe
YAML je v praxi nadmnožinou JSON: každý dokument JSON popisuje data, která YAML umí vyjádřit, a YAML k tomu přidává lehčí syntaxi, kterou lidé snáz čtou a upravují. Proto se manifesty Kubernetes, soubory Docker Compose, pipeline GitHub Actions a GitLab CI, playbooky Ansible a specifikace OpenAPI obvykle píší v YAML, zatímco API a programy si vyměňují JSON.
Stejná data v obou formátech:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Převodník zapisuje YAML v blokovém stylu: jeden klíč na řádek, seznamy s pomlčkami a vnořené objekty odsazené. Dlouhé řetězce se nikdy nezalamují a víceřádkové řetězce používají doslovný styl |, aby se konce řádků zachovaly přesně. Řetězce, které by YAML jinak četl jako jiný typ, se uvozují: "yes", "1.0" nebo "null" zůstanou po cestě tam a zpět řetězci. Seřadit klíče seřadí klíče každého objektu podle abecedy, což usnadňuje porovnání dvou konfiguračních souborů.
YAML → JSON
YAML se čte podle základního schématu YAML 1.2, tedy podle stejných pravidel jako většina moderních nástrojů:
true/false, čísla anull(nebo~) se změní na hodnoty JSON.yes,no,onaoffzůstanou řetězci, jak vyžaduje specifikace YAML 1.2.- Kotvy a aliasy (
&base,*base) se rozbalí a slučovací klíče (<<: *base), časté v souborech CI, jsou podporovány. - Soubor s několika dokumenty oddělenými
---se změní na pole JSON s jedním prvkem na dokument a zpráva ti řekne, kolik jich bylo sloučeno. - Komentáře se zahazují, protože JSON komentáře nemá.
.infa.nannemají v JSON ekvivalent a zapisují se jako řetězce"Infinity"a"NaN".
Aby byl tvůj prohlížeč chráněn před soubory typu „billion laughs“, v nichž se několik aliasů rozbalí na miliardy hodnot, dokument, který se rozbalí na víc než milion hodnot, se odmítne.
Časté chyby v YAML
- Tabulátory pro odsazení: YAML povoluje jen mezery.
- Nejednotné odsazení: položky téhož seznamu nebo objektu musí začínat ve stejném sloupci.
- Chybějící mezera za dvojtečkou:
key:valueje jediný řetězec, zatímcokey: valueje dvojice klíč–hodnota. - Speciální znaky bez uvozovek: hodnota, která začíná znakem
@, zpětným apostrofem,*,&nebo!, nebo která obsahuje:či#, musí být uvozena.
Časté dotazy
Odesílá se můj soubor na server?
Ne. Převod probíhá ve tvém prohlížeči a tvoje konfigurační soubory, tajné klíče ani data API nikdy neopustí tvůj počítač.
Proč se „yes“ a „no“ nepřevádějí na logické hodnoty?
Od YAML 1.2 jsou logickými hodnotami jen true a false. Starší parsery YAML 1.1 považovaly yes, no, on a off za logické hodnoty, což způsobilo slavný „norský problém“ (kód země NO se četl jako false). Tento nástroj se řídí YAML 1.2.
Zachovávají se komentáře YAML?
Ne. JSON komentáře nemá, takže se při převodu YAML → JSON ztratí. Při převodu JSON → YAML můžeš komentáře do výsledku doplnit dodatečně.
Mohu převést soubor Kubernetes s několika prostředky?
Ano. Každý prostředek oddělený --- se stane jedním prvkem pole JSON. Převod tohoto pole zpět na YAML dá jediný dokument obsahující seznam.
Mění převodník pořadí klíčů?
Ne, pokud nezaškrtneš Seřadit klíče: klíče si zachovávají pořadí, v jakém jsou ve tvém vstupu. Jedinou výjimku způsobuje samotný JavaScript: klíče, které jsou celá čísla, například "10" nebo "2", se řadí na začátek ve vzestupném pořadí.
Související nástroje
- Formátovač a validátor JSON Bezplatný formátovač a validátor JSON, který zpřehlední, minifikuje a ověří JSON ve tvém prohlížeči a syntaktické chyby hlásí s řádkem a sloupcem.
- Převodník JSON na CSV Převáděj JSON na CSV a CSV zpět na JSON ve svém prohlížeči. Vnořené klíče se zploští do sloupců, oddělovače se rozpoznají a nic se nenahrává.
- Převodník JSON na XML Převáděj JSON na XML a XML na JSON ve svém prohlížeči, se zpracováním atributů, opakovaných prvků a sekcí CDATA. Nic se nenahrává na server.