JSON para TypeScript
Perguntas frequentes
O que convém saber sobre gerar interfaces TypeScript
Como são inferidos os tipos a partir do JSON?
A ferramenta percorre o seu JSON de forma recursiva: cadeias viram string, números viram number, booleanos viram boolean. Cada objeto aninhado gera a sua própria interface com um nome em PascalCase derivado da chave, e os arrays produzem tipos [] com o tipo do elemento inferido. Os valores nulos são tratados como propriedades opcionais.
Como são tratados os arrays e os tipos mistos?
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?
Sim, use o campo «Nome da interface raiz» para definir o nome da interface de topo. O texto é convertido automaticamente em PascalCase válido de TypeScript. As interfaces aninhadas recebem o nome das respetivas chaves, com um sufixo numérico em caso de colisão para garantir nomes únicos.
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.