tigtools

Převodník YAML na JSON

Vložte YAML (manifest Kubernetes, soubor CI, specifikaci OpenAPI nebo konfiguraci) a okamžitě získejte formátovaný JSON. Nic se neodesílá.

Běží ve vašem prohlížeči Bez registrace

Odsazení

Převést JSON na YAML

Jak používat

  1. Vložte YAML do vstupu nebo vyzkoušejte příklad.
  2. Zvolte odsazení 2 nebo 4 mezer.
  3. 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í.