JSON para TypeScript
Cole uma resposta JSON ou fixture e gere interfaces TypeScript para objetos e arrays aninhados como ponto de partida prático.
Como funciona
Informe os dados
Preencha os valores, cole o texto ou envie o arquivo que esta ferramenta usa.
Veja o resultado na hora
A maioria das ferramentas atualiza enquanto você digita; algumas usam um único botão. De qualquer forma, o resultado aparece aqui mesmo.
Use o resultado
Copie, baixe ou compartilhe o que a ferramenta gerar — o controle é sempre seu.
O que é JSON para TypeScript?
O Gerador JSON para TypeScript é uma ferramenta para inferir interfaces e aliases TypeScript a partir de uma amostra JSON de API, fixture ou mock.
Como gerar TypeScript a partir de JSON
Use este guia para entender a inferência, revisar arrays mistos e ajustar tipos antes de levar a saída para o projeto.
Como a inferência funciona
Objetos viram interfaces, arrays viram arrays dos tipos inferidos, raízes primitivas viram aliases de tipo, e nomes de objetos aninhados são montados a partir do nome raiz mais o caminho da propriedade.
Arrays e valores mistos
Quando itens de array têm formatos ou tipos primitivos diferentes, a saída usa uma união dos tipos inferidos. Arrays vazios viram unknown[] porque não há item de exemplo para inspecionar.
Revise antes de usar
- Renomeie interfaces se os nomes gerados ficarem literais demais.
- Marque campos como opcionais manualmente quando a amostra não cobre todos os casos.
- Troque campos que aparecem apenas como null por uma união mais rica se os dados reais puderem conter outros valores.
Notas de tipagem
Os tipos gerados descrevem a amostra colada. Adicione campos opcionais, unions mais estritas ou interfaces compartilhadas quando o contrato real da API for mais amplo que a amostra.
Perguntas frequentes
Ele sabe quais campos são opcionais?
Não. Ele só enxerga a amostra fornecida, então toda propriedade presente nela é gerada como obrigatória.
O que acontece com nomes de propriedade inválidos?
Propriedades que não são identificadores TypeScript válidos são colocadas entre aspas, então chaves como user-name continuam utilizáveis.
Por que recebi type alias em vez de interface?
Raízes JSON primitivas, como string, number, boolean, null ou array, podem ser representadas diretamente como alias de tipo.
Ele mescla vários exemplos de resposta?
Não. Cole uma amostra combinada representativa ou ajuste os tipos manualmente depois de comparar exemplos.
Ferramentas relacionadas
- PopularDisponívelLocal
Gerador de UUID
Gere identificadores UUID v4 e GUID individuais ou em lote no navegador.
- PopularDisponívelLocal
Formatador de JSON, YAML e XML
Formate, minifique e valide JSON e XML, e converta entre JSON e YAML no navegador.
- PopularDisponívelLocal
Gerador e Leitor de QR Code
Crie QR codes e leia imagens de QR localmente.
- PopularDisponívelLocal
Codificador/Decodificador Base64
Codifique e decodifique texto em Base64 localmente.
- PopularDisponívelLocal
Codificador/Decodificador de URL
Codifique e decodifique URLs em abas separadas, com opções de lote e recursão.
- PopularDisponívelLocal
Conversor de Timestamp Unix
Converta timestamp Unix (segundos e milissegundos) em data/hora e vice-versa.
- DisponívelLocal
Codificador/Decodificador de Entidades HTML
Codifique e decodifique entidades HTML com segurança.
- DisponívelLocal
Testador de Regex
Teste expressões regulares e prévias de substituição.
- DisponívelLocal
Decodificador de JWT
Decodifique header e payload de JWT localmente.
- DisponívelLocal
Gerador e Validador de Expressão Cron
Monte, valide e decodifique expressões cron de 5 campos com prévia de execuções.