Sobre esta ferramenta
Digitar interfaces TypeScript à mão para casar com uma resposta de API é trabalho repetitivo — e fácil de errar sutilmente. Cole um JSON de exemplo aqui e obtenha as interfaces correspondentes na hora. Objetos aninhados são extraídos em suas próprias interfaces nomeadas, arrays de objetos são mesclados para que chaves ausentes em algumas entradas fiquem opcionais, e valores com mais de um tipo viram uniões.
Roda inteiramente no seu navegador com um inferidor leve — seu JSON nunca é enviado. Cole, ajuste o nome raiz se quiser e copie tipos prontos para o seu projeto.
Perguntas frequentes
Meu JSON é enviado para algum lugar?
Não. A análise e a inferência de tipos são executadas inteiramente no JavaScript do seu navegador — seu JSON nunca sai do seu dispositivo.
Como ele lida com um array em que os objetos têm campos diferentes?
Ele mescla as chaves de todos os objetos do array em uma única interface; qualquer chave que não esteja presente em todos eles é marcada como opcional com `?` em vez de ser descartada.
O que acontece com um array de tipos mistos, como números e strings?
Ele gera um tipo de array de união como `(string | number)[]`, de modo que a forma ainda reflete cada valor realmente presente na amostra.
Posso gerar aliases de tipo em vez de interfaces?
Sim, ative 'as type' para transformar cada `interface Name {}` gerado em `type Name = {}` — útil se seu código preferir aliases de tipo.
O que acontece se eu colar um JSON inválido?
A ferramenta mostra uma mensagem de erro com a linha e coluna exatas do problema e permite pular direto para lá, em vez de uma mensagem genérica de 'JSON inválido'.
Ele lida com objetos aninhados e arrays, não só JSON plano?
Sim. Um objeto aninhado vira sua própria interface nomeada, com o nome tirado da chave pai (assim `profile: {...}` gera uma interface `Profile`), e os nomes de array são singularizados (`roles` → `Role[]`). Um array de objetos gera uma única interface compartilhada por todos os elementos, com `?` nos campos que não estão presentes em todos — não uma interface separada por item.