Pular para o conteúdo
ToolMug

Conversor de JSON para TypeScript

Transforme um exemplo de JSON — uma resposta de API, um arquivo de configuração, uma fixture — em interfaces TypeScript para colar no seu código. Objetos aninhados ganham tipos próprios com nome, e diferenças entre itens de arrays viram tipos opcionais ou union types.

Roda no seu navegador — nada do que você digita é enviado

Como usar

  1. Cole um exemplo de JSON ou clique em Carregar exemplo.
  2. Defina o nome do tipo raiz.
  3. Escolha interfaces ou type aliases.
  4. 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.

Ferramentas relacionadas