Jak používat
- Vložte YAML do vstupu nebo vyzkoušejte příklad.
- Zvolte odsazení 2 nebo 4 mezer.
- Zkopírujte JSON nebo si jej stáhněte jako soubor .json.
Jak to funguje
YAML je parsován open-source knihovnou yaml s použitím základního schématu YAML 1.2, které očekávají moderní nástroje: yes, no, on a off zůstávají řetězce a pouze true a false jsou booleany. Kotvy (&name) a aliasy (*name) jsou rozbaleny a slučovací klíče << jsou použity; počet rozbalení aliasů je omezen, takže dokumenty záměrně způsobující explozivní nárůst jsou odmítnuty, místo aby stránka zamrzla.
Soubor s více dokumenty oddělenými --- se stane polem JSON s jedním prvkem pro každý dokument. Komentáře, kotvy a značky nemají ekvivalent v JSON a jsou zahozeny; klíče si zachovají pořadí. Časová razítka zůstanou řetězci. Celá čísla s více než přibližně 15 číslicemi ztratí přesnost, jako u jakéhokoli JSON zpracovávaného v JavaScriptu.
Pokud je YAML neplatný, zobrazí se první chyba s řádkem a sloupcem, například tabulátor použitý pro odsazení nebo chybějící uzavírací závorka. Pro opačný směr použijte JSON na YAML nebo obousměrný převodník JSON ⇄ YAML.
Příklady
Soubor CI s kotvami
Seznam úloh, který znovu používá blok defaults pomocí <<: *defaults, se změní na JSON, ve kterém jsou výchozí hodnoty zkopírovány do každé úlohy, takže přesně vidíte, co každá úloha dostane.
Vícedokumentový soubor Kubernetes
Soubor s objekty Deployment a Service oddělenými --- se stane polem JSON se dvěma objekty, připraveným pro kubectl nebo jq.
Časté dotazy
Proč zůstává yes jako řetězec?
YAML 1.2, který se používá zde a ve většině současných nástrojů, považuje za booleany pouze true a false. Starší parsery YAML 1.1 převáděly yes, no, on a off na booleany, což způsobilo mnoho chyb.
Co se stane s komentáři?
JSON nepodporuje komentáře, proto jsou odstraněny. Samotná data zůstávají beze změny.
Je nějaké omezení velikosti?
Pouze v paměti vašeho prohlížeče. Velké soubory se převádějí po krátké pauze během psaní, takže stránka zůstává plynulá.
Soukromí
Převod probíhá výhradně ve vašem prohlížeči. Váš YAML a JSON se nikam neodesílají ani neukládají.