Trabalhando com JSON em Java: parsing e serialização para iniciantes

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 para iniciantes

\n\n

JSON (JavaScript Object Notation) é um formato leve de troca de dados, amplamente utilizado em desenvolvimento web, aplicativos móveis e microsserviços. Para um desenvolvedor Java, saber ler (fazer parsing) e criar (serializar) JSON é uma habilidade essencial. Neste artigo, vamos abordar os fundamentos do trabalho com JSON em Java, usando as duas bibliotecas mais populares: Jackson e Gson. O material é voltado para iniciantes, portanto, todos os exemplos serão o mais simples e claros possível.

\n\n

O que é parsing e serialização de JSON?

\n

Antes de ir para o código, vamos definir os conceitos:

\n
    \n
  • Serialização — é o processo de converter um objeto Java em uma string JSON. Por exemplo, você criou um objeto User e deseja enviá-lo para o servidor no formato JSON.
  • \n
  • Parsing (desserialização) — é o processo inverso: converter uma string JSON de volta para um objeto Java. Por exemplo, você recebeu uma resposta de uma API e deseja trabalhar com os dados como um objeto comum.
  • \n
\n\n

Preparação do projeto: adicionando dependências

\n

Para trabalhar com JSON, precisaremos de bibliotecas externas. Vamos considerar as duas opções mais populares.

\n\n

Opção 1: Jackson (recomendado para iniciantes)

\n

Jackson é uma biblioteca poderosa e de alto desempenho. Se você usa Maven, adicione no pom.xml:

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

Opção 2: Gson (do Google)

\n

Gson é uma biblioteca leve e intuitiva. Dependência para Maven:

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

Ambas as bibliotecas podem ser baixadas manualmente do Maven Central, se você não estiver usando um sistema de build.

\n\n

Exemplo de dados: classe User

\n

Para todos os exemplos, usaremos uma classe simples User:

\n
public class User {\n    private String name;\n    private int age;\n    private String email;\n\n    // Construtor vazio obrigatório para Jackson e Gson\n    public User() {}\n\n    public User(String name, int age, String email) {\n        this.name = name;\n        this.age = age;\n        this.email = email;\n    }\n\n    // Getters e Setters (importantes para a serialização)\n    public String getName() { return name; }\n    public void setName(String name) { this.name = name; }\n\n    public int getAge() { return age; }\n    public void setAge(int age) { this.age = age; }\n\n    public String getEmail() { return email; }\n    public void setEmail(String email) { this.email = email; }\n}
\n\n

Parsing de JSON (String → Objeto Java)

\n

Vamos ver como ler uma string JSON e transformá-la em um objeto User.

\n\n

Com Jackson

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

Com Gson

\n
import com.google.gson.Gson;\n\npublic class GsonParsingExample {\n    public static void main(String[] args) {\n        String jsonString = "{ \\"name\\": \\"Maria\\", \\"age\\": 25, \\"email\\": \\"maria@example.com\\" }";\n\n        Gson gson = new Gson();\n        User user = gson.fromJson(json                

Blogs

Book Recommendations