Preskočiť na obsah
TextArray
100% lokálne

JSON na TypeScript

Vygenerujte TypeScript rozhrania z JSON dokumentu — vnorené objekty ako pomenované podrozhrania.

Vstup
Výstup

JSON na TypeScript

Vložte JSON dokument — odpoveď API, konfiguračný súbor, riadok z databázy — a dostanete hotové TypeScript deklarácie. Typy sa odvodzujú rekurzívne: primitívy sa mapujú na string, number a boolean, polia nesú typ svojich prvkov a zmiešané polia sa stanú čistými úniami ako (number | string)[]. Každý vnorený objekt sa zmení na pomenované podrozhranie odvodené z kľúča vlastnosti v PascalCase — vlastnosť „user" tak vytvorí rozhranie User, ktoré môžete importovať a používať kdekoľvek.

Zhodné štruktúry sa rozpoznajú a zdieľajú jediné rozhranie namiesto generovania duplicít; číselná prípona sa objaví len vtedy, keď dva objekty zdieľajú názov kľúča, ale líšia sa štruktúrou. Prázdne polia vyjdú ako unknown[] a prázdne objekty ako Record<string, unknown> — poctivé zástupné typy namiesto hádania. Názvy vlastností, ktoré nie sú platné identifikátory, sa automaticky uzavrú do úvodzoviek, takže kľúče s pomlčkami aj číselné kľúče prežijú bez ujmy.

Možnosti pokrývajú skutočné projektové konvencie. Pomenujte koreňový typ, vyberte si medzi deklaráciami interface a type, exportujte všetko alebo nič, označte vlastnosti ako readonly a rozhodnite, ako sa spracujú hodnoty null — ako explicitný typ null alebo ako voliteľné vlastnosti. Neplatný JSON vyvolá pokojnú chybu s riadkom a stĺpcom problému, rovnako ako pri formátovači JSON.

Všetko beží lokálne vo vašom prehliadači: odpovede API s tokenmi či osobnými údajmi nikdy neopustia váš počítač. Vložte dáta, skopírujte deklarácie do projektu a tvar vašich dát je otypovaný.

Časté otázky

Ako sa typujú vnorené objekty a polia?
Vnorené objekty sa stanú pomenovanými podrozhraniami odvodenými z kľúča vlastnosti v PascalCase. Polia preberú typ svojich prvkov; ak sa prvky líšia, vznikne únia ako (number | string)[]. Pole objektov s rovnakou štruktúrou zdieľa jedno rozhranie pre všetky prvky.
Čo sa stane s dvoma objektmi rovnakej štruktúry?
Zdieľajú jedno rozhranie — generátor porovnáva štruktúry a znovu použije prvý názov. Číselná prípona ako Item2 sa objaví, len keď majú dve vlastnosti rovnaký kľúč, ale skutočne odlišné štruktúry.
Ako sa spracúvajú hodnoty null?
Predvolene sa vlastnosť s hodnotou null otypuje ako null — presne to, čo vzorka hovorí. Zapnite „Voliteľné vlastnosti pre hodnoty null" a vygeneruje sa prop?: unknown — užitočné, keď null vo vašom API znamená „niekedy chýba".
Prečo je prázdne pole otypované ako unknown[]?
Prázdne pole nenesie žiadny dôkaz o type svojich prvkov, takže unknown[] je poctivá odpoveď. Doplňte do vzorky jeden reprezentatívny prvok a generátor odvodí skutočný typ.
Nahráva sa môj JSON niekam?
Nie. Nástroj beží výhradne vo vašom prehliadači a dáta nikdy neopustia vaše zariadenie — bezpečné aj pre odpovede API s tokenmi či osobnými údajmi.