Binatomy
Generatore TypeScript

JSON to TypeScript

Incolla un JSON e genera istantaneamente le interfacce TypeScript, con inferenza ricorsiva di oggetti annidati, array e tipi opzionali
FAQ

Domande Frequenti

Tutto quello che devi sapere sulla generazione di interfacce TypeScript

Come vengono inferiti i tipi dal JSON?

Lo strumento analizza ricorsivamente il tuo JSON: le stringhe diventano string, i numeri number, i booleani boolean. Ogni oggetto annidato genera una propria interfaccia con nome in PascalCase derivato dalla chiave, mentre gli array producono tipi con notazione [] inferendo il tipo degli elementi. I valori null vengono trattati come proprieta opzionali.

Come vengono gestiti array e tipi misti?

Per gli array, lo strumento esamina tutti gli elementi e costruisce un tipo unione quando trova tipi diversi (ad esempio (string | number)[]). Un array vuoto diventa any[]. Se gli elementi sono oggetti, viene generata un'interfaccia riutilizzabile con nome al singolare. Tutto il calcolo avviene nel browser, il tuo JSON non lascia mai il dispositivo.

Posso cambiare il nome dell'interfaccia principale?

Si, usa il campo "Nome interfaccia radice" per impostare il nome dell'interfaccia di primo livello. Il testo viene automaticamente convertito in PascalCase valido per TypeScript. Le interfacce annidate prendono automaticamente il nome dalle rispettive chiavi, con eventuali suffissi numerici in caso di collisioni per garantire nomi univoci.

Wie werden die Arrays im JSON typisiert?

Jedes Element des Arrays wird angesehen, und die gefundenen Typen bilden eine Vereinigung. Haben alle Elemente dieselbe Form, entsteht ein Array eines einzigen Interface, sonst erscheint eine Vereinigung der Typen.

Was passiert mit Null-Werten im JSON?

Ein Null im Ausgangs-JSON ergibt eine Eigenschaft, die mit einem Fragezeichen als optional gekennzeichnet und als null typisiert wird, weil die Stichprobe allein nicht sagen kann, welchen Typ das Feld wirklich hat.

Kann ich den Namen des Haupt-Interface ändern?

Ja, dafür gibt es ein Feld, das mit RootObject beginnt. Der Name wird in PascalCase umgewandelt, und verschachtelte Interfaces benennen sich nach dem Schlüssel, der sie enthält.