Přeskočit na obsah
TextArray
100% lokálně

JSON na TypeScript

Vygenerujte TypeScript rozhraní z JSON dokumentu — vnořené objekty jako pojmenovaná podrozhraní.

Vstup

JSON na TypeScript

Vložte JSON dokument — odpověď API, konfigurační soubor, řádek z databáze — a dostanete hotové TypeScript deklarace. Typy se odvozují rekurzivně: primitivy se mapují na string, number a boolean, pole nesou typ svých prvků a smíšená pole se stanou čistými uniemi jako (number | string)[]. Každý vnořený objekt se změní na pojmenované podrozhraní odvozené z klíče vlastnosti v PascalCase — vlastnost „user" tak vytvoří rozhraní User, které můžete importovat a používat kdekoli.

Shodné struktury se rozpoznají a sdílejí jediné rozhraní místo generování duplicit; číselná přípona se objeví jen tehdy, když dva objekty sdílejí název klíče, ale liší se strukturou. Prázdná pole vyjdou jako unknown[] a prázdné objekty jako Record<string, unknown> — poctivé zástupné typy místo hádání. Názvy vlastností, které nejsou platné identifikátory, se automaticky uzavřou do uvozovek, takže klíče s pomlčkami i číselné klíče přežijí beze změny.

Volby pokrývají skutečné projektové konvence. Pojmenujte kořenový typ, vyberte si mezi deklaracemi interface a type, exportujte vše nebo nic, označte vlastnosti jako readonly a rozhodněte, jak se zpracují hodnoty null — jako explicitní typ null, nebo jako volitelné vlastnosti. Neplatný JSON vyvolá klidnou chybu s řádkem a sloupcem problému, stejně jako u formátovače JSON.

Vše běží lokálně ve vašem prohlížeči: odpovědi API s tokeny či osobními údaji nikdy neopustí váš počítač. Vložte data, zkopírujte deklarace do projektu a tvar vašich dat je otypovaný.

Časté dotazy

Jak se typují vnořené objekty a pole?
Vnořené objekty se stanou pojmenovanými podrozhraními odvozenými z klíče vlastnosti v PascalCase. Pole převezmou typ svých prvků; pokud se prvky liší, vznikne unie jako (number | string)[]. Pole objektů se stejnou strukturou sdílí jedno rozhraní pro všechny prvky.
Co se stane se dvěma objekty stejné struktury?
Sdílejí jedno rozhraní — generátor porovnává struktury a znovu použije první název. Číselná přípona jako Item2 se objeví, jen když mají dvě vlastnosti stejný klíč, ale skutečně odlišné struktury.
Jak se zpracovávají hodnoty null?
Výchozí chování otypuje vlastnost s hodnotou null jako null — přesně to, co vzorek říká. Zapněte „Volitelné vlastnosti pro hodnoty null" a vygeneruje se prop?: unknown — užitečné, když null ve vašem API znamená „někdy chybí".
Proč je prázdné pole otypované jako unknown[]?
Prázdné pole nenese žádný důkaz o typu svých prvků, takže unknown[] je poctivá odpověď. Doplňte do vzorku jeden reprezentativní prvek a generátor odvodí skutečný typ.
Nahrává se můj JSON někam?
Ne. Nástroj běží výhradně ve vašem prohlížeči a data nikdy neopustí vaše zařízení — bezpečné i pro odpovědi API s tokeny či osobními údaji.