Sviluppatore

JSON in TypeScript

Trasforma un oggetto JSON in interfacce TypeScript tipizzate.

  • Istantaneo
  • Gratis
  • Privato (elaborato localmente)
  • Senza registrazione

Interfacce TypeScript

Tipizzare una risposta API in pochi secondi

Invece di scrivere a mano le interfacce di un grande JSON, incollalo qui. Lo strumento deduce i tipi ricorsivamente: oggetti annidati trasformati in interfacce separate, array tipizzati, campi opzionali marcati con «?».

  1. Incolla il JSON

    Una risposta API, un file di config, qualsiasi oggetto.

  2. Nomina la radice

    «Root» di default, o il nome che preferisci.

  3. Copia le interfacce

    Pronte da incollare nel tuo file .ts.

Esempio di inferenza

Valore JSONTipo dedotto
"name": "Ada"name: string
"age": 36age: number
"roles": ["admin"]roles: string[]
"profile": { … }profile: Profile
(chiave assente da un oggetto di un array)campo?: tipo

Inferenza da un esempio: ricordati di rifinire i null (spesso in una union string | null) e di controllare i tipi dopo. Tutto avviene localmente, il tuo JSON non lascia mai il browser.

Domande frequenti

Come vengono dedotti i tipi?

Lo strumento esamina ogni valore: un numero diventa number, una stringa string, un booleano boolean. Gli oggetti diventano interfacce con il nome della loro chiave, e gli array sono tipizzati secondo i loro elementi (string[], MioTipo[]…).

Come vengono rilevati i campi opzionali?

Quando un array contiene più oggetti, lo strumento fonde le loro chiavi. Una chiave presente in alcuni oggetti ma non in tutti è marcata opzionale con «?». È esattamente il comportamento atteso per dati API eterogenei.

Cosa succede con i valori null o gli array vuoti?

Un valore null è tipizzato null (da rifinire manualmente, spesso in una union come string | null). Un array vuoto diventa unknown[], perché il tipo dell’elemento non è determinabile da un solo esempio.

Il risultato è pronto da incollare nel mio codice?

Sì: l’interfaccia radice è nominata a tua scelta («Root» di default), le sotto-interfacce sono dichiarate sopra, e la sintassi è TypeScript valido. Rinomina le interfacce secondo il tuo dominio per maggiore chiarezza.