JSON para TypeScript
Converta um objeto JSON para interfaces TypeScript. Manipula objetos aninhados, arrays, propriedades opcionais e tipos de união.
Como Usar JSON para TypeScript
- 1Cole seu objeto JSON ou resposta de API.
- 2Digite um nome para a interface raiz.
- 3Clique em Converter para gerar interfaces TypeScript.
- 4Copie o código TypeScript gerado.
ZenovayAnalytics
Analytics feito para fundadores.
- Acompanhamento de visitantes em tempo real
- Privacidade em primeiro lugar, sem banner de cookies
- Configurado em dois minutos
Ferramentas Relacionadas
Formatador e Validador de JSON
Formate, valide e embeleze dados JSON com destaque de sintaxe e detecção de erros.Decodificador JWT
Decodifique e inspecione tokens JWT. Visualize cabeçalho, payload e verifique assinaturas.Codificar/Decodificar Base64
Codifique texto para Base64 ou decodifique Base64 de volta para texto. Suporta dados UTF-8 e binários.Encode/Decode de URL
Codifique ou decodifique componentes de URL. Trate caracteres especiais, strings de consulta e URLs completas.Perguntas Frequentes
Quais recursos TypeScript isso gera?▾
O conversor gera declarações de interface TypeScript para objetos, com tipos corretos para string, number, boolean, null, undefined e Date (strings de data ISO). Objetos aninhados produzem interfaces separadas. Arrays produzem tipos T[]. Arrays mistos produzem tipos de união (string | number)[]. Propriedades que são null na amostra obtêm T | null. Propriedades opcionais (?) não são inferidas de uma única amostra — use várias amostras para melhor inferência.
Como os objetos aninhados são tratados?▾
Cada objeto aninhado obtém sua própria interface nomeada. Por exemplo, {"user": {"name": "Alice"}} produz interface User { name: string; } e interface Root { user: User; }. Interfaces são nomeadas convertendo a chave de propriedade em PascalCase. Objetos profundamente aninhados produzem uma hierarquia completa de interfaces. Arrays de objetos produzem uma interface para o tipo de item, referenciada como ItemType[].
Qual é a diferença entre interface e type em TypeScript?▾
interface e type são amplamente intercambiáveis para formas de objetos. Interfaces suportam mesclagem de declaração (múltiplas declarações com o mesmo nome se mesclam) e podem ser estendidas com extends. aliases type podem expressar tipos de união, tuplas e tipos mapeados que interfaces não podem. Para formas de resposta de API, ambos funcionam. A convenção é usar interface para formas de objeto (objetos que você instanciará ou estenderá) e type para aliases, uniões e tipos calculados.
Como devo lidar com respostas de API que variam entre chamadas?▾
O conversor infere tipos de uma amostra. Se um campo às vezes é string e às vezes é number entre chamadas, você precisa adicionar o tipo de união manualmente: field: string | number. Para campos anuláveis, adicione | null. Para campos ausentes/opcionais, adicione o modificador ?: field?: string. Execute o conversor em várias respostas de API e mescle as interfaces manualmente para tipos de qualidade de produção.
Como uso essas interfaces no meu projeto TypeScript?▾
Copie as interfaces geradas para um arquivo .ts ou .d.ts (por exemplo, api-types.ts). Importe-as onde necessário: import type { Root } from "./api-types";. Digite sua resposta fetch: const data = await response.json() as Root; ou com zod para validação em tempo de execução: const schema = z.object({...}); const data = schema.parse(await response.json()). Para projetos grandes, considere ferramentas como quicktype ou openapi-typescript para geração de tipo automatizada a partir de esquemas.