Slaan oor na hoofinhoud
LibraTool logoLibraTool

Gratis JSON na TypeScript-omskakelaar

Genereer TypeScript-koppelvlakke of tik-aliasse vanaf enige JSON-voorwerp of skikking. Plak jou JSON en kry gereed-vir-gebruik TypeScript-tipes onmiddellik.

Werk vanlyn sodra gelaai
export interface User {
  id: number;
  name: string;
  email: string;
  isActive: boolean;
  score: number;
  tags: string[];
  address?: null;
}

export interface Root {
  user: User;
  createdAt: string;
  version: number;
}

Algemene gebruike

  • Genereer TypeScript-tipes van API-responsePlak 'n API JSON-respons en genereer onmiddellik TypeScript-koppelvlakke vir joutipe-veilige frontend-kode.
  • TypeScript-tipes vir konfigurasie en instellingsobjekteGenereer TypeScript-koppelvlakke uit JSON-konfigurasielêiers om tipeveiligheid aan u toepassinginstellings toe te voeg.
  • Genereer TypeScript-tipes uit databasisverslaeSkakel JSON-gëxporteerde databasisverslae of ORM-vraagresultate om na TypeScript-koppelvlakke vir gegeweslaagtipering.
  • Tipe-nabootsingdata en toetsrekkuisieteGenereer TypeScript-koppelvlakke uit JSON-nabootsingdata en toetsrekkuisiete om u eenheidstoetse en Storybook-verhale te tipeer.
  • Tipe-antwoorde van derdelande APIGenereer TypeScript-koppelvlakke uit derdelande API-antwoorde waar amptelike tipes ontbreek of verouderd is.

Hoe dit werk

Hierdie nutsprogram gebruik 'n handgeskrewe rekursiewe tipe-afleidingsalgoritme sonder eksterne biblioteke — JSON.parse om die toevoer te bekragtig en te ontleed, dan 'n pasgemaakte deurloping wat deur elke waarde in die JSON-boom loop en TypeScript interface- of type-verklarings direk in die blaaier lewer. Niks word na 'n bediener gestuur nie.

  1. 1
    JSON ontleed en bekragtig
    Jou toevoer word aan JSON.parse oorhandig. As dit misluk, verskyn die presiese ontledingsfout onmiddellik onder die toevoer. 'n Suksesvolle ontleding produseer 'n getipeerde waardeboom wat die res van die omskakeling dryf.
  2. 2
    Rekursiewe tipe-afleiding
    'n Rekursiewe getType-funksie loop deur elke knoop: primitiewe karteer na string, number, boolean, of null; objekte aktiveer 'n nuwe genoemde interface; reekse van objekte kry hul sleutels oor alle elemente saamgevoeg sodat sleutels wat slegs in party items voorkom opsioneel word en botsende waarde-tipes met | saamgevoeg word.
  3. 3
    Botsing-veilige interface-benaming
    Elke geneste objek kry 'n PascalCase-naam afgelei van sy JSON-sleutel (snake_case, kebab-case, en spasies word almal genormaliseer). As twee struktureel verskillende objekte dieselfde naam sou deel, word 'n numeriese agtervoegsel bygevoeg (Data, Data2, …) eerder as om die vorige definisie stilweg te oorskryf.
  4. 4
    Uitset gerender en aflaaibaar
    Geneste interfaces word eerste gelewer, dan die worteltipe, geformateer as export interface of export type afhangend van jou keuse. Die resultaat kan na die knipbord gekopieer of as 'n .ts-lêer afgelaai word — alles gebou met 'n standaard Blob en geen bediener-heen-en-weer nie.

Verwante gereedskap

Gereelde vrae