Conversor de JSON para TypeScript
Converta um exemplo de JSON em interfaces ou aliases de tipo TypeScript. Infere tipos primitivos, de array e de objetos aninhados, mescla arrays de objetos em uma única interface com chaves opcionais e permite nomear o tipo raiz.
Entrada
Nome da interface/tipo de nível superior. Convertido para PascalCase.
Como o null do JSON é tipado. Arrays vazios sempre viram unknown[].
Saída
Guias
Cole um exemplo de JSON e obtenha interfaces ou aliases de tipo TypeScript prontos para uso, descrevendo sua estrutura. O conversor percorre seu JSON, infere um tipo para cada valor e nomeia estruturas aninhadas para você — sem digitação manual, sem adivinhação. É a forma mais rápida de transformar uma resposta de API, arquivo de configuração ou fixture em código tipado.
O que ele faz
A ferramenta lê seu JSON e produz definições TypeScript correspondentes:
- Primitivos são mapeados para
string,numbereboolean. - Objetos aninhados viram sua própria
interfacenomeada, referenciada pelo pai (ex.:address: Address). - Arrays de primitivos viram
T[]— e arrays heterogêneos viram uma união, como(number | string)[]. - Arrays de objetos são condensados em uma única interface que mescla todas as chaves encontradas nos elementos. Qualquer chave ausente em pelo menos um elemento é marcada como opcional com
key?:. - Valores
nullsão ampliados paranull(ouundefined, à sua escolha) em vez de quebrar a saída. - Arrays vazios viram
unknown[], pois não há nada a inferir.
Como usar
- Cole ou digite seu JSON na caixa de entrada.
- Defina o nome do tipo raiz — ele nomeia a interface de nível superior (padrão
Root, convertido para PascalCase). - Escolha o estilo de saída: alias
interfaceoutype. - Escolha como os valores nulos devem ser tipados (
nullouundefined). - Copie o TypeScript gerado ou baixe-o como
interfaces.ts.
A saída é atualizada automaticamente conforme você edita, então você pode ajustar o JSON e ver os tipos mudarem em tempo real.
Qual devo escolher — interface ou type?
Interfaces são o padrão para formatos de objeto e suportam fusão de declarações; aliases de tipo são úteis quando você quer compor ou exportar o formato junto de uniões e tipos utilitários. Os membros gerados são idênticos, então escolha o que se encaixa no seu código. Você pode alternar entre eles a qualquer momento.
Como arrays de objetos são tratados?
Cada objeto do array é verificado e as chaves são mescladas em uma única interface. Uma chave que aparece em alguns, mas não em todos os elementos, vira opcional (key?:). É o que você normalmente quer para arrays de APIs reais, onde os registros não são perfeitamente uniformes.
E arrays mistos ou vazios?
Um array misto como [1, "two"] produz um tipo de elemento de união: (number | string)[]. Um array vazio não tem membros a inspecionar, então vira unknown[] — seguro e explícito, e fácil de restringir depois.
Ele lida com JSON profundamente aninhado?
Sim. Cada objeto aninhado ganha sua própria interface nomeada pela chave, e essas interfaces são emitidas junto com o tipo raiz para que toda a estrutura seja totalmente tipada.
Privacidade
Este conversor roda inteiramente no seu navegador. Seu JSON é analisado e transformado no seu dispositivo — nunca é enviado a um servidor, registrado ou armazenado. Você pode usá-lo com dados sensíveis e trabalhar offline depois que a página carregar.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/json-to-typescript-converter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonInput": "{\"id\":1,\"tags\":[\"admin\",\"user\"],\"scores\":[95,87]…",
"rootName": "Root",
"exportStyle": "interface",
"nullType": "null"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `json-to-typescript-converter` tool (JSON to TypeScript Converter) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.