Como usar
- Cole um exemplo de JSON ou clique em Carregar exemplo.
- Defina o nome do tipo raiz.
- Escolha interfaces ou type aliases.
- Copie ou baixe os tipos gerados.
Opções explicadas
- Nome do tipo raiz
- Nome do tipo de nível superior, por exemplo User ou ApiResponse. Os tipos aninhados recebem o nome das suas chaves — address vira Address, e os itens de posts viram Post.
- Usar type em vez de interface
- Gera type aliases (type User = { … }) em vez de interfaces. Os dois funcionam igual para dados simples.
Exemplos
{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} vira:
export interface Owner {
name: string;
}
export interface Root {
id: number;
tags: string[];
owner: Owner;
}
Perguntas frequentes
Como são tratados os arrays de objetos?
Todos os itens são mesclados em um único tipo. Uma chave que aparece só em alguns itens vira opcional (key?), e um valor que às vezes é null vira uma união como string | null.
Por que um campo aparece com o tipo unknown?
O exemplo só tinha null nesse campo, então o tipo real não pode ser inferido. Substitua unknown pelo tipo correto ou cole um exemplo em que o campo tenha valor.
Inteiros e decimais são tipos diferentes?
Não no TypeScript — os dois viram number. As saídas em Go, Rust e Python fazem essa distinção.
Meu JSON é enviado para algum servidor?
Não. Os tipos são gerados no seu navegador, então respostas de API com dados reais ficam no seu dispositivo.
Privacidade
Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos e textos são processados no seu dispositivo e nunca são enviados aos nossos servidores.