JSON para TypeScript
JSON para TypeScript
Converte exemplos JSON em interfaces e aliases de tipo TypeScript, mescla automaticamente campos de arrays de objetos, infere campos opcionais e uniões com null e gera declarações de tipo adequadas para arrays e objetos vazios. Útil para modelar respostas de API, inicializar tipos no frontend e organizar estruturas de dados.
Início rápido
Cenários comuns
Transforme respostas reais de API em modelos TypeScript iniciais para páginas frontend, clientes SDK ou testes de integração.
Inspecione arrays de objetos mistos para ver campos opcionais e tipos union antes de formalizar um contrato de API.
Converta dados JSON de mock em definições rápidas de tipo para fixtures, histórias do Storybook ou protótipos.
Revise declarações aninhadas como User ou Meta quando o formato do payload do backend mudar.
Dicas de uso
Limitações e compatibilidade
Privacidade e segurança
Perguntas frequentes
Raízes de objeto geram declarações interface. Raízes de array e valores primitivos geram type aliases. Para um array de objetos no nível superior, a raiz continua sendo um type alias como type Root = RootItem[];, e a estrutura do item é declarada separadamente.
Sem itens ou propriedades de exemplo, o gerador não consegue inferir algo mais específico. Ele mantém arrays vazios como unknown[] e objetos vazios como interfaces que estendem Record<string, unknown> até você colar dados mais representativos.
Se o nome informado já for um identificador TypeScript válido, ele é preservado exatamente, por exemplo APIResponse. Nomes inválidos são normalizados em um identificador PascalCase estável antes da geração.
O gerador atual normaliza nomes aninhados a partir dos caminhos de propriedades e resolve colisões de forma determinística. Por isso a saída mais nova usa nomes como User, Meta ou FooBarClass em vez de sempre prefixar com o nome raiz.
O contrato de saída atual retorna intencionalmente declarações simples sem export. Isso mantém a saída neutra, e você pode adicionar export para combinar com o estilo do seu projeto.