Gerar tipos a partir de JSON

Gere declarações TypeScript, Java 17+ ou C# 10+ a partir de um valor ou até 100 valores de exemplo.

  • Funciona no navegador
  • Sem envio
  • Verifique antes de transferir

Os dados de entrada ficam neste separador, sem envio ou gravação automática. As contagens agregadas de utilização e os diagnósticos gerais de processamento são opcionais e enviados apenas com consentimento, sem conteúdo nem nomes de ficheiros. Limpar ou fechar elimina os dados; guarde primeiro os resultados necessários.

Formatos e limites

Gere declarações TypeScript, Java 17+ ou C# 10+ a partir de um valor ou até 100 valores de exemplo. No modelo inferido, um campo em falta é diferente de um null explícito. O TypeScript usa tipos opcionais e uniões; em Java e C# os indicadores de presença têm de ser preenchidos por quem chama. Não é gerado nenhum desserializador. O nome raiz é ASCII até 64 carateres; os nomes de campos até 256; as listas vazias ficam por determinar. O nome raiz não pode ser um identificador reservado da linguagem ou da framework; em C# também é rejeitado System, para evitar o espaço de nomes da framework. Os alias dos membros reservam o nome do tipo que os contém e os dos indicadores de presença; os nomes JSON originais ficam nos atributos e no relatório do modelo.

Só UTF-8. Entrada até 1 MiB; XML até 100.000 unidades UTF-16; profundidade até 64; JSON até 20.000 nós. JSONL até 16 MiB, 100.000 registos e 1 MiB por valor. Saída até 32 MiB. Consultas: 3 s; outras tarefas: 10 s; processo local cancelável. A memória nativa do XSD fica até 64 MiB; isto não é toda a memória do processo nem do DOM.

Como usar

  1. Escolher origem e modo

    Escolha TypeScript, Java ou C#, indique o nome do tipo raiz e selecione uma amostra ou um array de amostras. Use registos variados e representativos para revelar campos em falta, anuláveis e heterogéneos.

  2. Configurar parâmetros

    O exemplo carregado, com dois registos, gera a interface Example: id:number e name:string são obrigatórios; nickname?:null e active?:boolean são opcionais, porque cada um falta num dos registos.

  3. Verificar e transferir

    Descarregue a declaração de origem e o inferred-model.json. Antes de a integrar, verifique a diferença entre opcional e null explícito e o mapeamento dos nomes dos campos. A ferramenta gera declarações; não valida dados futuros nem gera um desserializador.

Formatos e limites

Porque é que esta entrada é rejeitada ou o resultado fica vazio?

O modo de array de amostras precisa de 1 a 100 valores. Os nomes raiz começam por uma letra ASCII e só podem conter letras, dígitos ou sublinhado, com no máximo 64 carateres. Um array vazio não dá nenhuma indicação sobre o tipo dos elementos.

Que perfil de análise e que limites se aplicam?

É uma inferência a partir de amostras e não uma garantia de esquema. Os resultados em Java 17+ e C# 10+ podem precisar de indicadores de presença geridos por quem os utiliza; leia os comentários. Se o analisador numérico rejeitar a precisão de identificadores maiores, escreva-os como strings JSON entre aspas.

As entradas ou os ficheiros referenciados são enviados para um servidor?

A análise é feita localmente, num worker do navegador. Os URL presentes na entrada não vão buscar documentos remotos. Forneça explicitamente, como ficheiros locais, as dependências de esquema suportadas; guarde o seu texto de origem em separado e descarregue os resultados antes de fechar a página.