Gerador de código a partir de JSON

Cole um exemplo de JSON e receba tipos de modelo prontos para TypeScript, C#, Python, Go, Java ou Kotlin. Campos que faltam em alguns itens viram opcionais, valores null viram anuláveis e objetos aninhados ganham tipos próprios com nome.

Grátis e privado. Tudo funciona no seu navegador e nada é enviado.

Como funciona

  1. Cole um exemplo de JSONCole a resposta de uma API ou abra um arquivo .json. Quanto mais itens numa lista, melhor o resultado.
  2. Escolha a linguagemEscolha TypeScript, C#, Python, Go, Java ou Kotlin e o estilo que você usa, como record ou dataclass.
  3. Copie o códigoConfira os tipos gerados, depois copie ou baixe como arquivo.

Tipos deduzidos a partir de dados reais

Escrever à mão as classes de modelo de uma resposta grande de API é lento e fácil de errar. Esta ferramenta lê o seu exemplo de JSON e descobre o tipo de cada campo. Quando uma lista tem vários objetos, todos são comparados: um campo que não aparece em alguns objetos vira opcional, e um campo que é null em alguns objetos vira anulável.

Os números são separados em inteiros e decimais, e inteiros acima do limite de 32 bits viram long ou int64. Textos que parecem datas ISO, como 2026-10-27 ou 2026-10-27T09:30:00Z, podem virar tipos de data em C#, Python, Go e Java. Objetos aninhados ganham um tipo próprio com o nome da chave, e objetos com o mesmo formato compartilham um único tipo.

Nomes no padrão de cada linguagem

Chaves como user_name, First Name ou createdAt são convertidas para o padrão de nomes da linguagem: propriedades em PascalCase no C#, snake_case no Python, camelCase no Java e no Kotlin, nomes exportados no Go. Quando o novo nome é diferente da chave do JSON, a chave original fica guardada num atributo ou tag, então a serialização continua batendo com os dados. Palavras reservadas e chaves que começam com dígito são renomeadas com segurança.

O resultado é um ponto de partida. Confira os tipos de campo que não puderam ser decididos pelo seu exemplo, por exemplo um campo que é sempre null ou sempre uma lista vazia.

Perguntas frequentes

Meu JSON é enviado para algum lugar?

Não. Os tipos são gerados no seu navegador. Respostas de API com dados de clientes ou chaves nunca saem do seu dispositivo.

Como os campos opcionais são detectados?

Se o JSON tem uma lista de objetos, todos os objetos são comparados. Um campo que falta em pelo menos um objeto é marcado como opcional. Com um único objeto, todos os campos são tratados como obrigatórios.

O que acontece com campos que são sempre null?

Não dá para saber o tipo pelo exemplo, então o campo recebe um tipo genérico como unknown, object, Any ou JsonElement. Inclua um exemplo em que o campo tenha valor para obter um tipo preciso.

Por que o meu 1.0 virou número decimal?

A ferramenta olha como o número está escrito. 1.0 ou 2.5 viram double ou float, 1 vira inteiro. Se um campo é inteiro em alguns itens e decimal em outros, o tipo decimal é usado.

Posso usar o resultado em código de produção?

Sim, o código compila como está nas configurações mais comuns. Revise nomes e tipos antes do commit, porque um exemplo nunca mostra todos os valores possíveis.

Funciona sem internet?

Sim. Depois que você abre a página uma vez, ela continua funcionando sem conexão com a internet.