pressione ⌘K para trocar de ferramenta
FORMAT & CONVERT

Gerador JSON → Interface TypeScript

Gera definições de interface TypeScript a partir de JSON.

local
json-code
§01 SOBRE ESTA FERRAMENTA

Visão geral

Cole um payload JSON e receba as declarações interface de TypeScript correspondentes — prático ao envolver uma API não documentada, ao tipar um arquivo de configuração ou ao partir de uma resposta de exemplo para montar os seus DTOs. Os valores primitivos mapeiam para string, number e boolean; cada objeto aninhado é extraído para uma interface separada; e os nomes de propriedade que não são identificadores válidos recebem aspas automaticamente, sem que você precise corrigir nada à mão.

Como usar

  1. Defina o nome da interface de nível superior em Root type name (o padrão é Root).
  2. Cole sua amostra na área JSON.
  3. Copie as declarações geradas da saída em TypeScript, que é atualizada conforme você digita ou cola.

Exemplos

  • {"id":1,"name":"Alice","meta":{"active":true}}

    interface Root {
      id: number;
      name: string;
      meta: Meta;
    }
    

    mais uma interface Meta { active: boolean; } separada.

Observações

Os tipos são inferidos de uma única amostra, e isso limita o que a ferramenta pode saber: valores null recebem o tipo null, campos opcionais não têm como ser detectados e uniões nunca aparecem. Trate a saída como um ponto de partida e ajuste a nulabilidade e a opcionalidade conferindo o contrato real da API.

FAQ
Meu JSON é enviado para um servidor?
Não. A análise e a geração dos tipos rodam inteiramente no seu navegador. Nada é enviado, então colar respostas de API que contenham dados reais é seguro.
Como os objetos aninhados são tratados?
Cada objeto aninhado se torna a sua própria interface nomeada, derivada da chave da propriedade (por exemplo, uma propriedade meta produz uma interface Meta), e o objeto pai a referencia pelo nome.
Como os arrays recebem tipo?
O tipo do elemento é inferido a partir do primeiro item do array. Um array vazio recebe o tipo unknown[], então ajuste esses casos à mão se você souber qual é o tipo real do elemento.