JSON to TypeScript
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.
Como são tipificados os arrays do JSON?
Cada elemento do array é examinado e os tipos encontrados formam uma união. Quando todos os elementos têm a mesma forma, o resultado é um array de uma única interface; caso contrário aparece uma união entre os tipos.
O que acontece aos valores nulos do JSON?
Um nulo no JSON de origem produz uma propriedade marcada como opcional, com um ponto de interrogação, e tipada como null, porque a amostra sozinha não consegue dizer qual é o tipo real daquele campo.
Posso mudar o nome da interface principal?
Sim, há um campo para o nome da interface raiz, que começa como RootObject. O nome é convertido em PascalCase, e as interfaces aninhadas recebem o nome da chave que as contém.