Conversor de JSON para TypeScript — Grátis online

Cole JSON e obtenha uma interface TypeScript gerada automaticamente, incluindo objetos aninhados.

Os resultados são fornecidos apenas para fins informativos e podem conter erros. Verifique de forma independente as informações importantes. O uso desta ferramenta é por sua conta e risco.

O que esta ferramenta faz

O Conversor de JSON para TypeScript lê um objeto JSON de exemplo e gera as interfaces TypeScript correspondentes. Cada objeto aninhado ganha sua própria interface nomeada, e cada propriedade recebe um tipo inferido a partir do seu valor: string, number, boolean, null, um tipo de array ou outra interface.

Defina o nome da interface no campo Nome da interface. Se o JSON for um array, os tipos vêm do primeiro elemento, e é adicionado um tipo de lista como type UserList = User[];.

Quando usar

  • Tipar a resposta de uma API que você chama a partir de um front-end TypeScript ou de um serviço Node.js.
  • Começar um modelo de dados a partir de um payload real, em vez de escrever as interfaces à mão.
  • Documentar o formato do payload de um webhook ou evento para o seu time.

Exemplo prático

Entrada

{"id": 1, "name": "Ana", "active": true, "address": {"city": "Lisbon"}, "tags": ["admin"]}

Saída

interface Address {
  city: string;
}

interface User {
  id: number;
  name: string;
  active: boolean;
  address: Address;
  tags: string[];
}

Perguntas sobre esta ferramenta

Ele detecta propriedades opcionais?

Não. Os tipos são inferidos a partir de um único exemplo, então uma propriedade que não aparece nesse exemplo também não aparece na interface. Adicione ? às propriedades que nem sempre estão presentes.

Que tipo recebe o null?

Um valor que é null no exemplo recebe o tipo null. Troque por uma union como string | null se o campo puder ter um valor.

O que acontece com arrays de valores mistos?

O tipo dos elementos vira uma union, por exemplo (string | number)[]. Um array vazio vira unknown[], porque não há nada de onde inferir o tipo.

Esta ferramenta é gratuita?

Sim, é grátis. Sem cadastro nem e-mail. Veja o resultado nesta página.

Como recebo o resultado?

Use a ferramenta nesta página. O resultado aparece aqui, sem envio por e-mail.