# JSON para Java Class

Converte dados JSON em classes Java com anotações @JsonProperty do Jackson, campos privados, getters e setters

> Página canônica: https://elysiatools.com/pt/tools/json-to-java

- **Categoria:** Development

- **Palavras-chave:** json, java, class, jackson, converter

## Visão geral

O conversor de JSON para Java Class permite transformar payloads JSON em classes Java estruturadas de forma rápida. Ele gera automaticamente campos privados, métodos getters e setters, além de anotações @JsonProperty do Jackson para garantir a correta desserialização dos dados.

## Entradas

- **Entrada JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nome do tipo raiz** (text): Root

## Quando usar

- Ao integrar APIs externas que retornam payloads JSON e precisar mapear essas respostas para objetos Java (POJOs).
- Durante a criação de DTOs (Data Transfer Objects) em projetos Spring Boot ou Java EE que utilizam a biblioteca Jackson.
- Quando precisar modelar rapidamente estruturas de dados complexas ou aninhadas a partir de um exemplo de JSON.

## Como funciona

- Insira o código JSON de origem no campo de entrada de texto.
- Defina o nome da classe raiz no campo de configuração opcional para nomear a classe principal.
- O conversor analisa a estrutura do JSON, identifica os tipos de dados e gera o código Java correspondente com campos privados, getters, setters e anotações Jackson.

## Casos de uso

- Criação rápida de classes de modelo para consumo de APIs REST em microsserviços Java.
- Geração de DTOs a partir de payloads de requisição para validação e processamento de dados.
- Mapeamento de arquivos de configuração JSON complexos para objetos Java tipados.

## Perguntas frequentes

### O conversor suporta objetos JSON aninhados?

Sim, ele gera classes Java separadas para cada objeto aninhado encontrado na estrutura do JSON.

### Quais anotações são adicionadas às classes geradas?

O conversor adiciona a anotação @JsonProperty do Jackson para mapear as chaves do JSON aos campos Java correspondentes.

### Posso definir o nome da classe principal?

Sim, basta preencher o campo 'Nome do tipo raiz' com o nome desejado para a classe principal.

### Como o conversor lida com arrays no JSON?

Arrays JSON são convertidos em listas Java, utilizando a estrutura List com o tipo de dado correspondente.

### É necessário instalar alguma dependência para usar o código gerado?

O código gerado utiliza as anotações da biblioteca Jackson, portanto, você deve ter a dependência do Jackson configurada em seu projeto Java.

## Ferramentas relacionadas

- [Gerador de Data URI](https://elysiatools.com/pt/tools/data-uri-generator): Converte arquivos em Data URIs (Base64 ou porcentagem-codificada) para incorporar imagens, fontes e recursos diretamente em HTML, CSS ou Markdown
- [Conversor de JSON Schema para Zod](https://elysiatools.com/pt/tools/json-schema-to-zod-schema-converter): Converte definicoes JSON/YAML de JSON Schema em codigo Zod pronto para uso em projetos TypeScript, com objetos aninhados, arrays, enums e regras comuns de validacao
- [JSON para C# Class](https://elysiatools.com/pt/tools/json-to-csharp): Converte dados JSON em classes C# com propriedades PascalCase, atributos JsonPropertyName e inferência de tipos aninhados
- [JSON para Go Struct](https://elysiatools.com/pt/tools/json-to-go): Converte dados JSON em definições de struct Go com tags json, campos PascalCase exportados e inferência de tipos aninhados
- [JSON para Kotlin Data Class](https://elysiatools.com/pt/tools/json-to-kotlin): Converte dados JSON em data classes Kotlin com anotações @SerializedName, tratamento de nulos e inferência de tipos aninhados
- [JSON para Rust Struct](https://elysiatools.com/pt/tools/json-to-rust): Converte dados JSON em structs Rust com derives serde Serialize/Deserialize, campos snake_case e atributos serde rename
- [JSON para TypeScript](https://elysiatools.com/pt/tools/json-to-typescript): Converte dados JSON em interfaces TypeScript ou aliases de tipo, com tipos união, campos opcionais e inferência de objetos aninhados
- [Conversor de logs para diagramas de sequencia](https://elysiatools.com/pt/tools/log-sequence-diagram-converter): Converte logs estruturados de servicos em diagramas Mermaid ou PlantUML com anotacoes de latencia e erro

## Exemplos

- [Amostras JSON de Terraform Plan](https://elysiatools.com/pt/samples/terraform-plan-json-samples): Arquivos Terraform plan JSON para visualizacao de dependencias e revisao de mudancas, no estilo terraform show -json
- [Exemplos de Serialização Android Java](https://elysiatools.com/pt/samples/android-serialization-java): Exemplos de serialização Android Java incluindo serialização JSON, desserialização e análise XML
- [Exemplos JSON de Chat](https://elysiatools.com/pt/samples/chat-transcript-json): Exemplos JSON para transcricoes de chat multirrole
- [Exemplos de JSON](https://elysiatools.com/pt/samples/json): Exemplos de formato JSON (JavaScript Object Notation) de estruturas simples a complexas

## Conteúdo relacionado

- [Geradores de JSON para codigo tipado](https://elysiatools.com/pt/hubs/json-to-typed-code-generators): Gere modelos tipados a partir de JSON ou schemas para TypeScript, Go, Rust, Kotlin, Java, C# e validacao Zod.
