Como usar
- Cole texto, abra um arquivo UTF-8 ou teste o exemplo.
- Escolha entrada e opções, execute a ferramenta ou ative a execução automática.
- Revise, copie ou baixe o resultado. Alterar a entrada invalida o resultado anterior.
JSON para TypeScript
Gere interfaces ou aliases de tipo TypeScript a partir de uma amostra JSON.
O processamento ocorre no navegador. Sua entrada não é enviada ao DevToolsy.
Como funciona
Objetos aninhados viram tipos nomeados. Registros de arrays são combinados; propriedades ausentes ficam opcionais e valores mistos formam uniões. Arrays vazios usam unknown[].
{"project":"DevToolsy","members":[{"name":"Ada","role":"developer"},{"name":"Lin","active":true}],"tags":["web","tools"]}export interface Root {
project: string;
members: RootMembersItem[];
tags: string[];
}
export interface RootMembersItem {
name: string;
role?: string;
active?: boolean;
}
Gere interfaces ou aliases de tipo TypeScript a partir de uma amostra JSON.
Opções e fidelidade dos dados
Escolha nome raiz, interface ou type, readonly e propriedades opcionais. Strings geram string, sem inferir tipos literais.
Trabalhando com o resultado
Uma amostra não descreve todos os casos. Revise null, campos ausentes e precisão numérica; adicione validação em execução separadamente.
Revise, copie ou baixe o resultado. Alterar a entrada invalida o resultado anterior.
Entrada UTF-8 de até 1 MiB por documento, saída de até 8 MiB. JSONPath e Schema: 5 segundos; outras ferramentas: 30 segundos.
Perguntas frequentes
Como objetos e arrays são inferidos?
Objetos aninhados viram tipos nomeados. Registros de arrays são combinados; propriedades ausentes ficam opcionais e valores mistos formam uniões. Arrays vazios usam unknown[].
Quais opções TypeScript posso mudar?
Escolha nome raiz, interface ou type, readonly e propriedades opcionais. Strings geram string, sem inferir tipos literais.
Isso valida futuras respostas de API?
Não. Uma amostra não descreve todos os casos. Revise null, campos ausentes e precisão numérica; adicione validação em execução separadamente.
Minha entrada é enviada?
O processamento ocorre no navegador. Sua entrada não é enviada ao DevToolsy.
Posso abrir um arquivo local?
Entrada UTF-8 de até 1 MiB · saída de até 8 MiB