Da JSON a TypeScript
NovitàGenera interfacce TypeScript da un esempio JSON, con tipi annidati.
Runs entirely in your browser. Nothing is uploaded.
Converti JSON in TypeScript con un clic
Questo convertitore JSON in TypeScript genera interfacce, tipi o classi pronte all'uso a partire da un campione JSON, così non dovrai mai più scrivere manualmente un tipo per una risposta API. Incolla un payload a sinistra e un TypeScript pulito e correttamente indentato appare istantaneamente a destra — copialo o scaricalo come file .ts.
È un'alternativa veloce, gratuita e senza registrazione: un unico passaggio da JSON a interfaccia TypeScript che gira interamente nel tuo browser, con oggetti annidati, array e union tutti dedotti automaticamente. Nessun limite di dimensione file, nessun limite di utilizzo giornaliero e nulla abbandona mai il tuo dispositivo.
Interfacce, tipi o classi — la tua scelta
Usa il selettore di output per passare tra una interface, un alias di type o una class. La modalità interface è quella predefinita e produce export interface Root { … }; la modalità type genera export type Root = { … } per le codebase che preferiscono gli alias; e la modalità class dichiara i campi in un export class. Lo stesso JSON alimenta tutti e tre, così puoi confrontarli con i tuoi dati in pochi secondi.
Puoi rinominare il root, attivare o disattivare la parola chiave export, e la scelta viene ricordata per la prossima volta — trasformando questo in un generatore di tipi TypeScript flessibile invece di un convertitore a formato singolo.
Inferenza intelligente per oggetti annidati, array e union
Il motore percorre il tuo JSON e costruisce un'interfaccia nominata per ogni oggetto, nominando le interfacce annidate dai loro chiavi e singolarizzando gli elementi degli array — un array orders diventa Order[]. Le forme identiche vengono deduplicate in un'unica interfaccia, e gli array di tipi misti si riducono a una union come (string | number)[].
Attiva il rilevamento degli enum e i valori di stringa ripetuti vengono dedotti come union letterale — una colonna di stato con "spedito" e "in attesa" diventa "in attesa" | "spedito" invece di un generico string. Questa precisione rende l'output simile a codice scritto a mano.
Campi opzionali, null e readonly gestiti correttamente
I dati API reali sono disordinati, quindi il convertitore li gestisce onestamente. Quando converti una risposta API in TypeScript, le chiavi che compaiono solo in alcuni elementi di un array vengono contrassegnate come opzionali con ?, e tu decidi come vengono tipizzati i null: mantenerli come union esplicita | null, oppure attivare null → opzionale per trasformare zip: string | null in zip?: string.
Un selettore readonly aggiunge il modificatore readonly a ogni proprietà per modelli immutabili. Insieme, queste opzioni ti permettono di adattarti alla rigidità del tuo progetto invece di lottare contro i tipi TypeScript generati da JSON.
Confronto con quicktype, json2ts e MakeTypes
quicktype.io è l'opzione più completa per la generazione multi-linguaggio — supporta Python, Go, C#, Kotlin e molti altri linguaggi oltre a TypeScript. Questa ampiezza significa che il suo output TypeScript a volte include helper di runtime di quicktype e boilerplate aggiuntivo. Elabora inoltre il tuo JSON sui propri server, il che è importante per i payload riservati. json2ts.com è più semplice e genera interfacce di base ma manca di rilevamento degli enum, supporto readonly e opzioni di gestione dei null.
MakeTypes genera classi TypeScript con parsing in runtime, utile se vuoi la validazione integrata ma aggiunge un overhead di codice significativo. Questo convertitore UtiloKit genera tipi puri con zero footprint di runtime — solo le interfacce o gli alias di tipo di cui il tuo codice ha bisogno, funzionando interamente nel tuo browser senza upload al server e senza account.
Privacy by design — il tuo JSON non lascia mai il browser
Ogni conversione avviene localmente usando JavaScript nel tuo tab. Il tuo JSON non viene mai caricato su un server, memorizzato o condiviso — funziona offline ed è sicuro per payload riservati, API interne e dati di produzione. Aggiungi ai preferiti questo convertitore JSON in TypeScript e usalo ogni volta che hai bisogno di tipi velocemente.
Il parser tollerante accetta anche input simile a JSON con // commenti, virgole finali e stringhe con virgolette singole, così puoi incollare un oggetto letterale JavaScript dal tuo editor e ottenere comunque un output valido. Nessun altro passaggio necessario.
Frequently asked questions
Come converto JSON in TypeScript?
Incolla il tuo JSON nel pannello di input (o premi Esempio per caricare un campione) e il TypeScript corrispondente appare istantaneamente nel pannello di output. Ad esempio, {"id": 1, "nome": "Marco"} diventa export interface Root { id: number; nome: string; }. Clicca su Copia o Scarica .ts per aggiungere i tipi direttamente al tuo progetto.
Come genero un'interfaccia TypeScript da JSON?
Lascia l'output impostato su Interface (predefinito) e ogni oggetto JSON diventa la propria export interface. Configura il campo Nome radice per controllare il nome del livello superiore. Ad esempio { "id": 1, "nome": "Marco" } con un nome radice di Utente produce export interface Utente { id: number; nome: string; }. Gli oggetti annidati vengono automaticamente convertiti nelle proprie interfacce nominate.
Qual è la differenza tra un'interface e un alias di tipo?
Entrambi descrivono la stessa forma dell'oggetto — scegli quello che preferisce la tua codebase usando il selettore Interface / Type / Class. La modalità Interface emette export interface Root { … }, che può essere riaperta ed estesa con la fusione di dichiarazioni; la modalità Type emette export type Root = { … }, che può anche esprimere union e primitivi; la modalità Class emette export class Root { … } con campi dichiarati.
Come gestisco i campi opzionali o null (? / | null)?
Due selettori controllano questo aspetto. 'Opzionale (?) per chiavi mancanti' contrassegna come opzionale qualsiasi proprietà assente in alcuni elementi di un array di oggetti. 'null → opzionale' riscrive un campo nullable come zip: string | null in zip?: string; disattivalo per mantenere l'union esplicita | null. Combinali per adattarti allo stile di gestione dei null del tuo team.
È sicuro incollare JSON qui?
Sì. La conversione è al 100% lato client: il tuo JSON viene analizzato e convertito in TypeScript da JavaScript in esecuzione nel tuo tab del browser, e non viene mai caricato, registrato o inviato a nessun server. Puoi disconnetterti da Internet e lo strumento continua a funzionare.
Come funziona il rilevamento degli enum di stringa?
Attiva 'Rileva enum di stringa' e una colonna di stringhe ripetute come 'spedito' e 'in attesa' viene dedotta come union letterale "in attesa" | "spedito" invece di un semplice string. Questo rende i tipi generati molto più precisi e utili.
Posso generare tipi da una risposta API o Swagger?
Sì — incolla una vera risposta JSON dalla tua API e lo strumento deduce interfacce pronte all'uso che puoi collegare direttamente alle tue chiamate fetch o axios per il completamento automatico e la sicurezza dei tipi. Per un endpoint Swagger/OpenAPI, copia un corpo di risposta di esempio (il JSON, non il documento schema) e convertilo.
Related tools
Vedi tutti gli strumentiConvertitore JSON ⇄ CSV
Converti un array JSON in CSV e il CSV di nuovo in JSON, con la corretta gestione delle virgolette.
Formattatore XML
Abbellisci, minimizza e convalida l’XML direttamente nel tuo browser.
Formattatore SQL
Abbellisci e minimizza le query SQL con maiuscole sulle keyword e ritorni a capo sulle clausole.
Visualizzatore CSV
Visualizza, ordina e cerca nei file CSV o TSV come una tabella ordinata, nel tuo browser.
Statistics Calculator
Calculate mean, median, mode, standard deviation, variance and more from a data set.
Matrix Calculator
Add, subtract, multiply matrices and compute determinant, inverse and transpose for 2×2–4×4 matrices.