Salt la conținutul principal
LibraTool logoLibraTool

Convertor JSON în TypeScript — gratuit

Generează interfețe TypeScript sau aliasuri de tip din orice obiect sau matrice JSON. Lipește JSON-ul și obține tipuri TypeScript gata de utilizat instant.

Funcționează offline odată încărcat
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;
}

Utilizări frecvente

  • Generați tipuri TypeScript din răspunsurile APILipiți un răspuns JSON API și generați instantaneu interfețe TypeScript pentru cod front-end sigur tip.
  • Tipuri TypeScript pentru obiecte de configurare și setăriGenerați interfețe TypeScript din fișiere de configurare JSON pentru a adăuga siguranță tip la setările aplicației dvs.
  • Generați tipuri TypeScript din înregistrări de baze de dateConvertiți înregistrări de baze de date exportate în JSON sau rezultate de interogări ORM în interfețe TypeScript pentru tipare de strat de date.
  • Datele mock de tip și accesoriile de testareGenerați interfețe TypeScript din date mock JSON și accesoriile de testare pentru a tipa testele dvs. unitare și poveștile Storybook.
  • Tip răspunsurile API de terțiGenerați interfețe TypeScript din răspunsurile API de terți în cazul în care lipsesc tipurile oficiale sau sunt depășite.

Cum funcționează

Această unealtă folosește un algoritm recursiv de inferență de tip scris manual, fără biblioteci externe — JSON.parse pentru a valida și parsa intrarea, apoi o parcurgere personalizată care traversează fiecare valoare din arborele JSON și emite declarații de interfață sau tip TypeScript direct în browser. Nimic nu este trimis către un server.

  1. 1
    JSON parsat și validat
    Intrarea ta este transmisă către JSON.parse. Dacă eșuează, eroarea exactă de parsare este afișată imediat sub intrare. O parsare reușită produce un arbore de valori tipizat care conduce restul conversiei.
  2. 2
    Inferență de tip recursivă
    O funcție recursivă getType parcurge fiecare nod: primitivele mapează la string, number, boolean, sau null; obiectele declanșează o interfață nouă numită; array-urile de obiecte au cheile lor unite peste toate elementele, astfel încât cheile prezente doar în unele elemente devin opționale iar tipurile de valori conflictuale sunt unite cu |.
  3. 3
    Numire de interfață sigură la coliziuni
    Fiecare obiect imbricat primește un nume PascalCase derivat din cheia sa JSON (snake_case, kebab-case, și spații sunt toate normalizate). Dacă două obiecte structural diferite ar împărtăși același nume, un sufix numeric este adăugat (Data, Data2, …) mai degrabă decât să suprascrie silențios definiția anterioară.
  4. 4
    Ieșire randată și descărcabilă
    Interfețele imbricate sunt emise mai întâi, apoi tipul rădăcină, formatat ca export interface sau export type în funcție de selecția ta. Rezultatul poate fi copiat în clipboard sau descărcat ca fișier .ts — totul construit cu un Blob standard și fără călătorie dus-întors la server.

Instrumente similare

Întrebări frecvente