Přeskočit na hlavní obsah

Převodník YAML na JSON zdarma

Převádějte YAML na JSON a JSON na YAML v obou směrech. Vložte libovolný formát a okamžitě získejte převedený výstup — bez nahrávání na server.

Funguje offline po načtení
Výstup JSON
Výstup se zobrazí zde…

Běžná použití

  • Převeďte YAML na JSON pro manifesty KubernetesPřeveďte Kubernetes YAML na JSON (nebo zpět) pro nástroje, ověřovací skripty nebo použití přímo přes rozhraní API.
  • Docker Compose YAML / JSON konverzePřeveďte docker-compose.yml na JSON k inspekci nebo zpět na YAML po programmatických změnách.
  • Konverze konfigurace CI/CD potrubíPřeveďte GitHub Actions, GitLab CI, CircleCI a další konfigurace potrubí mezi YAML a JSON formáty.
  • Konverze konfiguračního souboru aplikacePřeveďte konfigurace aplikací mezi YAML a JSON — užitečné při přepínání frameworků nebo sdílení config nástrojů.
  • OpenAPI / Swagger specifikace konverzePřeveďte specifikace OpenAPI 3.x nebo Swagger 2.0 API mezi YAML a JSON. Oba formáty jsou platné a zaměnitelné.

Jak to funguje

Oba směry převodu — YAML na JSON a JSON na YAML — běží zcela ve vašem prohlížeči pomocí ručně napsaného parseru a generátoru zabudovaného ve stránce, bez knihovny YAML třetí strany a bez zapojení serveru. Logika žije v jediném modulu TypeScriptu (lib/yamljson.ts), který zpracovává mapování, sekvence, skaláry, řetězce v uvozovkách a odstranění vložených komentářů.

  1. 1
    Vstup se předzpracovává řádek po řádku
    Pro vstup YAML parser rozdělí text na řádky, odstraní vložené komentáře (sleduje stav uvozovek, aby neodstranil # uvnitř řetězců), změří hloubku odsazení a zahodí prázdné řádky — sestaví strukturovaný seznam tokenů, než začne jakékoli parsování.
  2. 2
    Rekurzivní sestupný parser sestavuje strom dat
    Parser prochází seznam tokenů a pomocí úrovně odsazení určuje strukturu. Rozpoznává položky sekvence (- hodnota), klíče mapování (klíč: hodnota) a vnořené bloky. Skaláry procházejí krokem typového vynucení, který zpracovává null, boolean, celá čísla (odmítá hodnoty s úvodní nulou jako 007, aby se předešlo tichému poškození dat) a desetinná čísla — s volitelným režimem, který zachovává holá slova YAML 1.1 jako yes, no, on a off jako řetězce, místo aby je převáděl na boolean.
  3. 3
    Nepodporované funkce YAML se označují, ne tiše zahazují
    Před vydáním výstupu nástroj prohledá kotvy (&name), aliasy (*name), sloučené klíče (<<:), blokové skaláry (| a >), značky vícedokumentového YAML (---) a duplicitní klíče mapování. Kterýkoli z nich spouští viditelné varování, místo aby vytvořil nenápadně chybné JSON.
  4. 4
    JSON se serializuje nebo se vydá YAML, poté se zpřístupní
    Pro YAML→JSON se rozebraná hodnota předává JSON.stringify s vaším zvoleným odsazením (2 mezery, 4 mezery, tabulátor nebo minifikováno). Pro JSON→YAML vlastní generátor prochází rozebranou hodnotu JavaScriptu a vytváří odsazené YAML, přičemž řetězcové skaláry uzavírá do uvozovek jen tehdy, je-li to potřeba (např. hodnoty obsahující :, # nebo vypadající jako vyhrazená slova). Výstup se objevuje okamžitě, jak píšete, a lze jej zkopírovat nebo stáhnout.

Související nástroje

Časté dotazy