Aqbeż għall-kontenut ewlieni
LibraTool logoLibraTool

Konvertitur JSON għal TypeScript b'xejn

Iġġenera interfaces TypeScript jew aliases ta' tip minn kwalunkwe oġġett jew array JSON. Dħal il-JSON tiegħek u ikseb tipi TypeScript lesti biex tużahom immedjatament.

Jaħdem offline ladarba mgħobbi
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;
}

Użi komuni

  • Iġġenera Tipi TypeScript minn Risponsi APIWaħħal risposta JSON API u istantanjament iġġenera interfaces TypeScript biex tiggati b'tip-sigur il-kodiċi tal-frontend.
  • Tipi TypeScript għal Fajls ta' Konfigurazzjoni u Oġġetti tal-IssettjarIġġenera interfaces TypeScript minn fajls ta' konfigurazzjoni JSON biex iżżid tip-sigurezza l-issettjar ta' l-applikazzjoni.
  • Iġġenera Tipi TypeScript minn Rekords ta' DatabaseIkkonverti rekords ta' database esportati b'JSON jew riżultati ta' mistoqsija ORM f'interfaces TypeScript għat-tqiegħ ta' data.
  • Tip ta' Mock Data u Test FixturesIġġenera interfaces TypeScript minn mock data u test fixtures JSON biex tiggati l-istudji tiegħek u l-istorja Storybook.
  • Tip ta' Thired-Party API ResponsesIġġenera interfaces TypeScript minn third-party API responses fejn it-tipi uffiċjali mhumiex disponibbli jew ħamsin.

Kif Taħdem

Din l-għodda tuża algoritmu ta' inferenza tat-tip rikursiv miktub bl-idejn b'żero libreriji esterni — JSON.parse biex jivvalida u janalizza d-dħul, imbagħad traversar personalizzat li jimxi minn kull valur fis-siġra JSON u joħroġ dikjarazzjonijiet ta' interface jew type TypeScript direttament fil-browser. Xejn ma jintbagħat lil server.

  1. 1
    JSON analizzat u vvalidat
    Id-dħul tiegħek jgħaddi lil JSON.parse. Jekk jonqos, l-iżball eżatt tal-analiżi jitfaċċa immedjatament taħt id-dħul. Analiżi b'suċċess tipproduċi siġra ta' valur ittipjat li tmexxi l-bqija tal-konverżjoni.
  2. 2
    Inferenza rikursiva tat-tip
    Funzjoni rikursiva getType timxi minn kull nodu: primittivi jimmapjaw għal string, number, boolean, jew null; oġġetti jitfgħu interface ġdid imsemmi; arrays ta' oġġetti għandhom il-muftiehijiet tagħhom mgħaqqda tul l-elementi kollha biex muftiehijiet preżenti f'biss xi entrati jsiru mhux obbligatorji u tipi ta' valur konfliġġenti jingħaqdu bi |.
  3. 3
    Isem tal-interface sigur għall-kolliżjoni
    Kull oġġett mibjut jikseb isem PascalCase derivat mill-muftieħ JSON tiegħu (snake_case, kebab-case, u spazji kollha jiġu normalizzati). Jekk żewġ oġġetti strutturalment differenti jaqsmu l-istess isem, suffiss numeriku jiġi miżjud (Data, Data2, …) minflok ma jissovraskrivi siekt id-definizzjoni preċedenti.
  4. 4
    Ħruġ irrendjat u li jista' jitniżżel
    Interfaces mibjuta jinħarġu l-ewwel, imbagħad it-tip root, formattat bħala export interface jew export type skont l-għażla tiegħek. Ir-riżultat jista' jiġi kkopjat fil-clipboard jew imniżżel bħala fajl .ts — kollox mibni b'Blob standard u l-ebda round-trip lil server.

Għodod Relatati

Mistoqsijiet Frekwenti