Vai al contenuto principale
LibraTool logoLibraTool

Convertitore JSON in TypeScript gratis

Genera interfacce TypeScript o alias di tipo da qualsiasi oggetto o array JSON. Incolla il tuo JSON e ottieni istantaneamente tipi TypeScript pronti all'uso.

Funziona offline una volta caricato
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;
}

Usi comuni

  • Genera Tipi TypeScript da Risposte APIIncolla una risposta JSON API e genera istantaneamente interfacce TypeScript per proteggere con i tipi il tuo codice frontend.
  • Tipi TypeScript per Oggetti di Configurazione e ImpostazioniGenera interfacce TypeScript da file di configurazione JSON per aggiungere la type safety alle impostazioni dell'applicazione.
  • Genera Tipi TypeScript da Record di DatabaseConverti i record del database esportati come JSON o i risultati delle query ORM in interfacce TypeScript per la tipizzazione del livello dati.
  • Tipa i Dati Mock e i Fixture di TestGenera interfacce TypeScript da dati mock JSON e fixture di test per digitare i tuoi test unitari e le storie di Storybook.
  • Tipa le Risposte API di Terze PartiGenera interfacce TypeScript dalle risposte API di terze parti dove i tipi ufficiali mancano o sono obsoleti.

Come funziona

Questo strumento usa un algoritmo di inferenza di tipo ricorsivo scritto a mano senza librerie esterne — JSON.parse per validare e analizzare l'input, poi un attraversamento personalizzato che percorre ogni valore nell'albero JSON ed emette dichiarazioni di interfaccia o tipo TypeScript direttamente nel browser. Nulla viene inviato a un server.

  1. 1
    JSON analizzato e validato
    Il tuo input viene passato a JSON.parse. Se fallisce, l'errore di analisi esatto viene mostrato immediatamente sotto l'input. Un'analisi riuscita produce un albero di valori tipizzato che guida il resto della conversione.
  2. 2
    Inferenza di tipo ricorsiva
    Una funzione ricorsiva getType attraversa ogni nodo: i primitivi mappano a string, number, boolean, o null; gli oggetti attivano una nuova interfaccia con nome; gli array di oggetti hanno le loro chiavi unite tra tutti gli elementi così le chiavi presenti solo in alcuni elementi diventano opzionali e i tipi di valore in conflitto vengono uniti con |.
  3. 3
    Denominazione di interfaccia sicura da collisioni
    Ogni oggetto annidato ottiene un nome PascalCase derivato dalla sua chiave JSON (snake_case, kebab-case, e spazi vengono tutti normalizzati). Se due oggetti strutturalmente diversi condividerebbero lo stesso nome, viene aggiunto un suffisso numerico (Data, Data2, …) invece di sovrascrivere silenziosamente la definizione precedente.
  4. 4
    Output reso e scaricabile
    Le interfacce annidate vengono emesse per prime, poi il tipo radice, formattato come export interface o export type a seconda della tua selezione. Il risultato può essere copiato negli appunti o scaricato come file .ts — tutto costruito con un Blob standard e senza alcuna comunicazione con il server.

Strumenti correlati

Domande frequenti