Conversor JSON para TypeScript grátis
Gere interfaces TypeScript ou aliases de tipo a partir de qualquer objeto ou array JSON. Cole seu JSON e obtenha tipos TypeScript prontos para uso instantaneamente.
export interface User {
id: number;
name: string;
email: string;
isActive: boolean;
score: number;
tags: string[];
address?: null;
}
export interface Root {
user: User;
createdAt: string;
version: number;
}Usos comuns
- Gerar Tipos TypeScript de Respostas de APICole uma resposta JSON de API e gere instantaneamente interfaces TypeScript para tornar seu código de front-end type-safe.
- Tipos TypeScript para Objetos de Configuração e ConfiguraçõesGere interfaces TypeScript de arquivos de configuração JSON para adicionar segurança de tipo às configurações do aplicativo.
- Gerar Tipos TypeScript de Registros de Banco de DadosConverta registros de banco de dados exportados em JSON ou resultados de consulta ORM em interfaces TypeScript para digitação de camada de dados.
- Dados Mock do Tipo e Adereços de TesteGere interfaces TypeScript de dados mock JSON e adereços de teste para digitar seus testes unitários e histórias do Storybook.
- Respostas de API de Terceiros do TipoGere interfaces TypeScript de respostas de API de terceiros onde tipos oficiais estão ausentes ou desatualizados.
Como funciona
Esta ferramenta usa um algoritmo de inferência de tipo recursivo escrito à mão sem bibliotecas externas — JSON.parse para validar e analisar a entrada, depois uma travessia personalizada que percorre cada valor na árvore JSON e emite declarações de interface ou tipo TypeScript diretamente no navegador. Nada é enviado a um servidor.
- 1JSON analisado e validadoA sua entrada é passada a JSON.parse. Se falhar, o erro exato de análise é mostrado imediatamente abaixo da entrada. Uma análise bem-sucedida produz uma árvore de valores tipada que conduz o resto da conversão.
- 2Inferência de tipo recursivaUma função recursiva getType percorre cada nó: primitivos mapeiam para string, number, boolean, ou null; objetos ativam uma nova interface nomeada; arrays de objetos têm as suas chaves fundidas em todos os elementos para que chaves presentes apenas em alguns itens se tornem opcionais e tipos de valor conflituantes sejam unidos com |.
- 3Nomeação de interface segura contra colisõesCada objeto aninhado recebe um nome PascalCase derivado da sua chave JSON (snake_case, kebab-case, e espaços são todos normalizados). Se dois objetos estruturalmente diferentes compartilhassem o mesmo nome, é adicionado um sufixo numérico (Data, Data2, …) em vez de sobrescrever silenciosamente a definição anterior.
- 4Saída renderizada e transferívelAs interfaces aninhadas são emitidas primeiro, depois o tipo raiz, formatado como export interface ou export type dependendo da sua seleção. O resultado pode ser copiado para a área de transferência ou baixado como um arquivo .ts — tudo construído com um Blob padrão e sem ida e volta ao servidor.
Ferramentas relacionadas
JSON Schema para Formulário
Cole um JSON Schema e obtenha um formulário funcional ao vivo — campos de texto, número, checkbox, dropdown e lista — e copie o JSON que seus campos geram. Ótimo para prototipar corpos de requisições de API. Executa no seu navegador.
Teste de Velocidade de Digitação (WPM)
Meça sua velocidade de digitação (WPM) e precisão com testes de tempo, contagem de palavras, citação, personalizado e zen. WPM ao vivo, velocidade bruta, consistência, gráfico de resultados, múltiplos idiomas e feedback por caractere — tudo no seu navegador.
Gerador CSS clamp()
Gere um valor CSS clamp() fluido para tipografia e espaçamento responsivos. Defina o tamanho mínimo/máximo e o intervalo de viewport, veja uma pré-visualização ao vivo e copie o CSS em uma linha.