Trabalhando com JSON em Java: parsing e serialização na prática

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução ao trabalho com JSON em Java

JSON (JavaScript Object Notation) é um formato leve de troca de dados, amplamente utilizado em aplicações web modernas, APIs e microsserviços. Em Java, trabalhar com JSON é uma parte essencial do desenvolvimento: desde a leitura de arquivos de configuração até a interação com serviços RESTful. Neste artigo, vamos abordar na prática como realizar parsing (conversão de JSON para objetos Java) e serialização (conversão de objetos Java para JSON) usando duas das bibliotecas mais populares: Jackson e Gson.

Veremos exemplos reais de código, aprenderemos a lidar com estruturas aninhadas e analisaremos erros típicos. Ao final do artigo, você será capaz de trabalhar com JSON com confiança em qualquer projeto Java.



1. Principais bibliotecas para trabalhar com JSON

Jackson vs Gson: qual escolher?

No mercado Java, existem várias bibliotecas para trabalhar com JSON, mas duas se tornaram o padrão de fato:

  • Jackson — uma biblioteca mais performática e funcional. Suporta anotações, processamento em fluxo e serializadores personalizados. Recomendada para projetos enterprise.
  • Gson — uma biblioteca simples e leve do Google. Ideal para projetos pequenos e prototipagem rápida.

Para usar qualquer uma delas, basta adicionar a dependência no pom.xml (Maven) ou build.gradle (Gradle).



Adicionando Jackson (Maven)

<dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.15.2</version></dependency>


Adicionando Gson (Maven)

<dependency>    <groupId>com.google.code.gson</groupId>    <artifactId>gson</artifactId>    <version>2.10.1</version></dependency>


2. Parsing JSON: de string para objeto Java

Parsing é o processo de converter uma string JSON em um objeto Java. Vamos analisar ambas as abordagens usando a classe simples User como exemplo.



Criando o modelo de dados

public class User {    private String name;    private int age;    private String email;

// Construtor vazio é obrigatório! public User() {}

// Getters e Setters public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}


Parsing com Jackson

import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonParsingExample { public static void main(String[] args) throws Exception { String json = "{\\"name\\":\\"Ivan\\",\\"age\\":30,\\"email\\":\\"ivan@example.com\\"}"; ObjectMapper mapper = new ObjectMapper(); User user = mapper.readValue(json, User.class); System.out.println("Nome: " + user.getName()); System.out.println("Idade: " + user.getAge()); }}


Parsing com Gson

import com.google.gson.Gson;

public class GsonParsingExample { public static void main(String[] args) { String json = "{\\"name\\":\\"Maria\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Gson gson = new Gson(); User user = gson.fromJson(json, User.class); System.out.println("Nome: " + user.getName()); System.out.println("Email: " + user.getEmail()); }}


3. Serialização: de objeto Java para JSON

Serialização é o processo inverso: pegamos um objeto Java e o convertemos em uma string JSON. Isso é necessário, por exempl

Blogs

Book Recommendations