Trabalhando com JSON em Java: parsing e serialização de objetos

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

Trabalhando com JSON em Java: Parsing e Serialização



JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados amplamente utilizado em aplicações web modernas, APIs e microsserviços. Em Java, trabalhar com JSON tornou-se uma parte essencial do desenvolvimento, seja para analisar respostas de servidores, serializar objetos para armazenamento ou transferir dados entre componentes do sistema. Neste artigo, examinaremos detalhadamente como realizar parsing e serialização de JSON em Java usando duas bibliotecas populares: Gson do Google e Jackson.



1. O que é JSON e por que é necessário em Java?



JSON é um formato de texto baseado em pares chave-valor e listas ordenadas. É facilmente legível tanto por humanos quanto por máquinas, tornando-o ideal para transferir dados entre um servidor e um cliente. Em Java, JSON é usado para:



  • Troca de dados via REST API (por exemplo, receber dados de um servidor ou enviar um formulário).
  • Arquivos de configuração — muitos frameworks usam JSON para configuração de aplicações.
  • Serialização de objetos — converter objetos Java em uma string JSON para salvar em um arquivo ou banco de dados.
  • Desserialização — restaurar objetos Java a partir de uma string JSON.


Java não tinha suporte nativo a JSON até a versão 9 (quando o módulo java.json foi introduzido), então os desenvolvedores geralmente usam bibliotecas de terceiros como Gson e Jackson. Vamos analisar ambas.



2. Parsing JSON com Gson



Gson é uma biblioteca leve do Google que permite converter facilmente JSON para objetos Java e vice-versa. É simples de usar e não requer anotações adicionais para cenários básicos.



2.1. Instalando o Gson



Adicione a dependência ao seu pom.xml (Maven):

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


Se você estiver usando Gradle:

implementation 'com.google.code.gson:gson:2.10.1'


2.2. Parsing JSON para um objeto Java (Desserialização)



Suponha que temos uma string JSON com informações do usuário:

{  "name": "Ivan Petrov",  "age": 30,  "email": "ivan@example.com"}


Vamos criar uma classe User:

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

// Getters e Setters (necessários para Gson) 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; }}


Agora vamos analisar o JSON:

import com.google.gson.Gson;

public class Main { public static void main(String[] args) { String jsonString = "{\\"name\\":\\"Ivan Petrov\\",\\"age\\":30,\\"email\\":\\"ivan@example.com\\"}"; Gson gson = new Gson(); User user = gson.fromJson(jsonString, User.class); System.out.println("Nome: " + user.getName()); System.out.println("Idade: " + user.getAge()); }}


Saída:

Nome: Ivan PetrovIdade: 30


2.3. Serializando um objeto Java para JSON



O processo inverso — converter um objeto para JSON:

User user = new User();user.setName("Maria Smirnova");user.setAge(25);user.setEmail("maria@example.com");

Gson gson = new Gson();String json = gson.toJson(user);System.out.println(json);


Resultado:

{"name":"Maria S                

Blogs

Book Recommendations