JSON para TypeScript
export interface Root {
id: number;
name: string;
active: boolean;
tags: string[];
profile: Profile;
}
export interface Profile {
age: number;
city: string;
}Ferramentas externas relacionadas
Alguns links são links de afiliados.
Ferramentas relacionadas
Converta JSON em tipos TypeScript em um passo. Cole uma resposta de API ou qualquer objeto JSON e obtenha instantaneamente interfaces ou aliases de tipo limpos, com objetos aninhados, arrays e campos opcionais já tratados. Tudo no seu navegador — nada é enviado.
Como usar
- Cole seu JSON na caixa de entrada.
- Defina o nome do tipo raiz e escolha interface ou type, além de como os nulos são tratados.
- Copie o TypeScript gerado para o seu projeto.
Como os tipos são inferidos
Cada objeto se torna sua própria interface, e objetos aninhados recebem interfaces nomeadas próprias. Arrays de objetos são mesclados em uma única forma, onde chaves ausentes em alguns itens se tornam opcionais. Valores null são convertidos em tipo anulável, ou em campo opcional se preferir.
Funcionalidades
Objetos aninhados
JSON profundamente aninhado é dividido em interfaces claras e separadas que se referenciam entre si.
Formas de array mescladas
Arrays de objetos são combinados em um tipo, com campos opcionais onde os itens diferem.
Campos opcionais e anuláveis
Escolha se valores null se tornam um tipo anulável ou uma propriedade opcional.
interface ou type
Gere interfaces nomeadas ou aliases de tipo para corresponder ao estilo da sua base de código.
Nome raiz personalizado
Nomeie o tipo de nível superior como quiser, como User ou ApiResponse.
Casos de uso comuns
Tipagem de respostas de API
Cole uma resposta de exemplo e obtenha tipos para usar em toda a sua aplicação.
A partir de mocks e fixtures
Gere tipos a partir de dados de exemplo para que seu código permaneça type-safe.
Arquivos de configuração e dados
Crie tipos para arquivos JSON de configuração ou conteúdo em segundos.
Aprender TypeScript
Veja como JSON real se mapeia em interfaces e uniões TypeScript.
Notas e dicas
- Os tipos são inferidos do exemplo que você cola, portanto inclua todos os campos necessários.
- Um array vazio se torna unknown[], pois não há item do qual inferir.
- Revise a saída em busca de uniões e opcionais antes de usar em produção.
- Tudo funciona no seu dispositivo — nada é enviado a um servidor.
Perguntas frequentes
- Suporta objetos aninhados?
- Sim. Cada objeto aninhado se torna sua própria interface nomeada, e o pai a referencia pelo nome.
- Como os arrays são tipados?
- Arrays de objetos são mesclados em uma única interface; chaves ausentes em alguns itens tornam-se opcionais. Arrays de tipos primitivos mistos se tornam uma união, como (string | number)[].
- Como os valores null são tratados?
- Por padrão, null se torna um tipo anulável. Você pode mudar para tratar null como propriedade opcional.
- Devo usar interface ou type?
- Ambos funcionam; escolha o que corresponde à sua base de código. Interfaces são comuns para formas de objeto, enquanto aliases de tipo são flexíveis para uniões.
- Meu JSON é enviado para algum servidor?
- Não. O gerador funciona inteiramente no seu navegador. Nada é enviado a um servidor e não há cadastro.