Omnikit
DesenvolvimentoArquivosFinançasTodas as ferramentas
Ctrl K
Ferramentas para desenvolvedoresFerramentas de arquivosCalculadoras financeirasTodas as ferramentas
InícioFerramentas para desenvolvedoresConversor de JSON para classes Java
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Conversor de JSON para classes Java

desenvolvimento

Transforme uma amostra de JSON em POJOs, records ou classes Lombok do Java anotados para Jackson

Funciona no seu navegador. Nada do que você digita é enviado a lugar nenhum. Verificado em 16 de outubro de 2026.

Cole uma amostra de JSON e receba classes Java anotadas para Jackson, como POJOs com getters e setters, records ou Lombok @Data. Números inteiros viram int, long acima de 2.147.483.647, qualquer decimal deixa o campo como double, e um valor null ou ausente usa o tipo wrapper, como Integer.

Esta página foi traduzida automaticamente do original em inglês. Nenhuma pessoa revisou ainda a tradução; a versão em inglês é a que deve ser considerada. Ler o original em inglês

Em seguida:
  • Conversor de JSON para data classes Kotlin Transforme uma amostra de JSON em data classes Kotlin para kotlinx.serialization, Gson ou Moshi
  • Formatador e validador de JSON Formate, valide, minifique e ordene JSON com a posição exata de cada erro

Como converter JSON em uma classe Java

1

Cole uma amostra de JSON, como a resposta de uma API, na caixa da esquerda.

2

O Java aparece enquanto você digita: um Root.java com uma classe estática aninhada por objeto, campos em camelCase e @JsonProperty onde a chave for diferente.

3

Escolha POJO com getters e setters, um record (Java 16+) ou Lombok @Data, e defina o nome da classe raiz.

4

Clique em Copiar, ou em Baixar para salvar Root.java, e leia o JSON com o ObjectMapper do Jackson.

Sobre o Conversor de JSON para classes Java

O Java lê JSON em classes, geralmente com o Jackson, e cada objeto do JSON precisa de uma classe cujos campos tenham os tipos e nomes certos. Este conversor escreve essas classes a partir de uma amostra, então uma resposta longa de API vira Java que compila com uma só colagem.

Como os tipos são escolhidos.

Valor JSON Tipo Java
"text" String
true / false boolean
42 (só números inteiros) int, ou long além de 32 bits
4.5 (algum decimal visto) double
null, ou ausente em alguns itens Integer, Boolean, Double
só null, ou tipos misturados Object
[ ... ] List<...>
{ } vazio Map<String, Object>
{ ... } uma classe estática aninhada

Um arquivo só. O resultado é um único Root.java: a classe raiz guarda todas as outras como classes public static aninhadas, que o Jackson consegue criar e que não exigem arquivos extras. Quando o JSON é um array ou um valor solto, um comentário diz o tipo para ler, como List<Root.RootItem>.

Nomes e chaves. Os campos ficam em camelCase, então user_name vira userName, com @JsonProperty("user_name") mantendo a chave. Palavras reservadas do Java ganham um sublinhado, como class_. Um campo como xCoord é escrito xcoord, porque senão o Jackson o ligaria ao getter getXCoord com outro nome. Uma chave vazia é ignorada com @JsonIgnoreProperties, já que o Jackson não consegue nomeá-la.

Três estilos. Um POJO tem campos privados, getters e setters e funciona em qualquer lugar. Um record (Java 16+) é curto e imutável. O Lombok @Data mantém os campos e deixa o Lombok escrever o resto.

O resultado POJO de 9 amostras foi compilado com javac e lido pelo Jackson 2.17, com chaves desconhecidas e null em primitivos tratados como erros. Nada do que você cola sai do navegador.

Perguntas frequentes

Como converto JSON em uma classe Java?

Cole uma amostra de JSON no conversor e o Java aparece ao lado: um Root.java com uma classe estática aninhada para cada objeto. Adicione o Jackson ao projeto e leia o JSON com new ObjectMapper().readValue(json, Root.class), que preenche cada campo a partir da sua chave.

Por que as classes são aninhadas e estáticas?

Colocar todas as classes dentro de Root mantém o modelo inteiro em um arquivo que compila como está. O Jackson só consegue criar uma classe aninhada quando ela é estática, porque uma classe interna precisa antes de uma instância da classe externa, então toda classe aninhada é declarada public static.

Quando um campo é Integer em vez de int?

Um campo usa o tipo wrapper, como Integer, Long, Double ou Boolean, quando a amostra o mostra como null ou alguns objetos deixam a chave de fora. Um int primitivo não guarda null, e uma chave ausente viraria 0 sem aviso, então o tipo wrapper separa um valor ausente de zero.

Devo usar um POJO, um record ou Lombok?

Records, a partir do Java 16, são os mais curtos e imutáveis, e o Jackson 2.12 ou mais recente os lê diretamente. Um POJO com getters e setters funciona em qualquer versão do Java e com qualquer biblioteca. O @Data do Lombok escreve os getters e setters para você na compilação, deixando o código-fonte curto.

Por que uma chave como xCoord vira o campo xcoord?

O Jackson encontra propriedades pelos getters e chama getXCoord de xcoord, baixando as maiúsculas iniciais. Um campo chamado xCoord não encontraria o próprio getter, e a propriedade se dividiria em duas. O campo se chama xcoord, com @JsonProperty("xCoord") mantendo a chave original.

Meu JSON é enviado?

Não. A conversão roda no seu navegador sem nenhuma requisição a um servidor, e o JSON não é guardado, então respostas de API com tokens ou dados pessoais ficam no seu dispositivo. Feche a aba e nada fica para trás.

Fontes

  • The Java Language Specification, chapter 3 (identifiers and keywords)Which names are reserved; string literal escapes
  • The Java Language Specification, §8.10 Record classesRecord components, nested records being static
  • Jackson annotations wiki@JsonProperty and @JsonIgnoreProperties
  • Project Lombok, @DataGetters, setters, equals and toString generated from fields

Última verificação: 16 de outubro de 2026.

Taxas e regras mudam; confira a fonte antes de confiar em um valor.

Ainda com dúvidas? Pergunte sobre Conversor de JSON para classes Java e qualquer pessoa que saiba pode responder. Não é preciso ter conta.

Ferramentas relacionadas

Todas as ferramentas para desenvolvedores
Codificar e decodificar Base64Texto e arquivos para Base64 e de volta, com modo seguro para URL e prévia de imagensConversor de timestamp UnixTimestamps Unix em datas e datas em timestamps, em qualquer fuso horárioJSON para TypeScriptGere interfaces ou tipos TypeScript a partir de uma amostra JSONConverter CSV para JSONConverta CSV para JSON e JSON para CSV, com prévia em tabelaConverter YAML para JSONConverta YAML para JSON e JSON para YAML, com as âncoras resolvidasCodificador e decodificador de URLCodifique ou decodifique texto e URLs com codificação percentual e veja cada parte de um linkConversor de bases numéricasBinário, octal, decimal, hexadecimal e qualquer base até 36, exato em qualquer tamanho, com complemento de doisColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Esta ferramenta foi útil?
Omnikit

Pequenas tarefas, feitas no seu navegador. Grátis, rápido e privado. Os arquivos nunca são enviados.

Arquivos

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Desenvolvimento

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanças

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuiasPerguntasSobreComo verificamosBiblioteca de leis (beta)PrivacidadeTermosDivulgaçãoContatoMore: Exam practice (UGC NET Paper 1)Funciona no seu navegador. Nada é enviado. © 2026 Omnikit (theomnikit.com)