TypeScript Type Generator
Genera interfacce TypeScript da JSON - incolla JSON e ottieni tipi tipizzati.
JSON Input
TypeScript Output
Come utilizzare TypeScript Type Generator
Incolla il JSON
Incolla un oggetto o un array JSON nell'area di input, oppure carica l'esempio precompilato per vedere subito il risultato.
Configura le opzioni
Scegli il nome dell'interfaccia root, se usare "interface" o "type", se aggiungere "export", campi opzionali, readonly o nullable.
Copia il codice generato
Il pannello destro mostra il codice TypeScript generato in tempo reale: usa il pulsante "Copia" per incollarlo direttamente nel tuo progetto.
Suggerimenti
- Se il JSON e' un array, il tool genera automaticamente un'interfaccia per il singolo elemento e un type alias per l'array completo.
- Attiva "Campi readonly" quando generi tipi per dati immutabili (es. risposte API) per evitare mutazioni accidentali nel codice consumer.
- Usa un nome root descrittivo (es. "User", "OrderResponse") invece del default "Root" per ottenere interfacce piu' leggibili senza doverle rinominare a mano.
Domande frequenti
Come vengono dedotti i tipi dai valori JSON?
Il tool analizza ricorsivamente ogni valore: stringhe diventano "string", numeri "number", booleani "boolean", array vengono tipizzati in base agli elementi contenuti e oggetti annidati generano interfacce annidate a loro volta.
Cosa succede con array che contengono elementi di tipo diverso?
Il tool raccoglie tutti i tipi distinti trovati negli elementi dell'array e genera una union type, ad esempio "(string | number)[]", cosi' da riflettere fedelmente i dati di esempio forniti.
Qual e' la differenza tra generare "interface" e "type"?
Sono equivalenti per descrivere la forma di un oggetto: "interface" e' estendibile via "extends" e "declaration merging", "type" e' piu' flessibile per union e intersection type. La scelta e' una preferenza di stile del progetto, il tool supporta entrambe le sintassi.
Perche' i campi opzionali o nullable non vengono rilevati automaticamente?
Il tool lavora su un singolo esempio JSON, quindi non puo' sapere quali campi sono davvero opzionali in altri record dello stesso tipo. Usa le checkbox "Campi opzionali" e "Nullable" per applicare questi pattern manualmente a tutti i campi generati.
Il JSON viene inviato a un server per la conversione?
No, la generazione dei tipi avviene interamente nel browser lato client: nessun dato JSON viene inviato a un server esterno, puoi usare il tool anche con dati sensibili o payload interni.