JSON para Interface TypeScript
Cole um JSON de exemplo e gere interfaces TypeScript inferidas: objetos aninhados viram interfaces próprias, arrays viram T[] e itens heterogêneos viram union. O nome da interface raiz é configurável.
Cole um JSON de exemplo e gere interfaces TypeScript inferidas: objetos aninhados viram interfaces próprias, arrays viram T[] e itens heterogêneos viram union. O nome da interface raiz é configurável.
A ferramenta faz o JSON.parse do texto e percorre a estrutura inferindo os tipos
básicos (string, number, boolean, null).
Cada objeto aninhado vira uma interface separada, nomeada a
partir da chave (em PascalCase). Objetos com a mesma forma são reaproveitados
em uma única interface. Arrays viram T[]; quando os itens têm
tipos diferentes, o elemento vira uma união, por exemplo
(number | string)[].
O objetivo é ser simples e previsível: tipos básicos, objetos aninhados e
arrays. Campos opcionais não são inferidos (todos saem como obrigatórios), e
um array vazio vira unknown[], já que não há item para inspecionar. Chaves que
não são identificadores válidos (com hífen, por exemplo) saem entre aspas, como o TypeScript
exige.
A ferramenta mostra uma mensagem de erro legível (a mesma do
JSON.parse) e não gera saída, sem quebrar a página. Corrija o JSON e a geração
acontece ao vivo enquanto você digita.
Quando dois objetos têm exatamente as mesmas chaves e tipos, eles compartilham uma única interface — reduz a duplicação. Se você precisa de nomes distintos, renomeie no código gerado.