Visão geral / Desenvolvimento e código / JSON para TypeScript
Desenvolvimento e código 100% no navegador e offline

JSON para TypeScript

Cole um exemplo de JSON e receba interfaces ou tipos TypeScript: objetos aninhados ganham nomes, chaves ausentes viram opcionais e valores mistos viram uniões.

Cole ou digite o conteúdo; o resultado aparece na hora e os erros são exibidos abaixo do campo. Os campos já vêm com um exemplo: clique em um e digite para substituí-lo.

Seus arquivos e dados nunca saem do navegador – nada é enviado.

JSON

TypeScript

Os tipos são deduzidos dos valores colados. Uma chave ausente em alguns itens de um array vira opcional, valores mistos viram uma união e um array vazio vira unknown[]. Confira o resultado com os seus dados reais antes de confiar nele.

Transforme uma resposta de exemplo em tipos

Quase todo trabalho com APIs começa igual: você tem uma resposta em JSON e precisa de um tipo para ela. Cole a resposta à esquerda e o lado direito mostra o TypeScript correspondente, pronto para um arquivo .ts. Nada precisa ser digitado à mão, e um payload com dez níveis de aninhamento leva o mesmo tempo que um com dois.

Do payload ao arquivo de declaração

  1. Cole o JSON na caixa da esquerda ou clique em Exemplo para ver como funciona.
  2. Defina o nome do tipo principal, por exemplo User ou ApiResponse.
  3. Escolha entre interface e type e marque export ou somente leitura, se quiser.
  4. Confira o resultado à direita. Um erro de sintaxe é informado no lugar dos tipos.
  5. Use Copiar ou Baixar .ts para levar o código.

Como os tipos são deduzidos

  • Strings, números, booleanos e null correspondem ao tipo TypeScript equivalente.
  • Um objeto aninhado vira uma interface própria, nomeada pela chave em PascalCase. A chave shipping_address gera ShippingAddress.
  • Em arrays, todos os elementos são mesclados. Uma chave que aparece só em alguns deles é marcada como opcional com um ponto de interrogação, e valores de tipos diferentes viram uma união como string | number.
  • Dois objetos com exatamente o mesmo formato compartilham uma interface em vez de gerar duas cópias.
  • Um array vazio gera unknown[] e um objeto vazio gera Record<string, unknown>.

Limites de deduzir a partir de um único exemplo

Um exemplo só mostra o que contém. Um campo que sempre veio preenchido no seu exemplo pode ser null em produção, e um número que parece um id pode ser uma string em outro lugar. Datas chegam como strings, por isso são tipadas como string. Trate a saída como um primeiro rascunho e refine à mão, ou valide as respostas reais em tempo de execução, se os dados vierem de fora do seu controle.

Seu payload continua privado

A conversão roda na própria página. Respostas de produção, tokens e dados pessoais num exemplo colado não são enviados a nenhum servidor, o que torna seguro usar com dados reais.

Perguntas frequentes (FAQ)

Cole o JSON na caixa da esquerda. A interface aparece na hora à direita. Dê um nome ao tipo principal, copie o código e coloque-o num arquivo .ts.