Parseamento de JSON em Java: do iniciante ao profissional em 20 minutos

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

Parseamento de JSON em Java: do zero ao código funcional

\n\n

Você já olhou para uma resposta JSON de uma API e sentiu um leve pânico? "Como eu extraio o name daqui? E o que faço com este objeto aninhado?" — perguntas familiares, certo? Não se preocupe, você não está sozinho. O tópico "How to parse JSON in Java" é uma das consultas mais populares no Stack Overflow, e hoje vamos resolver esta questão de uma vez por todas.

\n\n

JSON (JavaScript Object Notation) é o formato padrão para troca de dados. Praticamente todo serviço moderno — desde clima até cotações de ações — fornece dados em JSON. Saber parseá-lo corretamente é uma habilidade básica para um desenvolvedor Java. Não vamos ler especificações chatas. Em vez disso, vamos usar as três bibliotecas mais populares: Gson (Google), Jackson (FasterXML) e a clássica org.json. Você verá a diferença nas abordagens e poderá escolher sua ferramenta.

\n\n

O que você ganhará após a leitura? Você conseguirá parsear qualquer JSON — desde uma string simples até uma estrutura aninhada complexa com arrays. Vamos lá!

\n\n

Preparação: o que precisamos

\n\n

Para os exemplos, usaremos um projeto Maven simples. Se você não usa Maven — sem problemas, basta baixar os arquivos JAR das bibliotecas manualmente. Aqui estão as dependências mínimas para o pom.xml:

\n\n
<!-- Gson -->\n<dependency>\n    <groupId>com.google.code.gson</groupId>\n    <artifactId>gson</artifactId>\n    <version>2.10.1</version>\n</dependency>\n\n<!-- Jackson -->\n<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.15.2</version>\n</dependency>\n\n<!-- org.json (simples) -->\n<dependency>\n    <groupId>org.json</groupId>\n    <artifactId>json</artifactId>\n    <version>20231013</version>\n</dependency>\n
\n\n

Agora, imagine que recebemos do servidor o seguinte JSON (informações do usuário):

\n\n
{\n  "id": 42,\n  "name": "Alice",\n  "email": "alice@example.com",\n  "isActive": true,\n  "address": {\n    "city": "Moscou",\n    "street": "Tverskaya"\n  },\n  "hobbies": ["leitura", "programação", "bicicleta"]\n}\n
\n\n

Nossa tarefa é transformar esta string em objetos Java e extrair os campos necessários. Vamos em ordem.

\n\n

Método 1: Parseamento de JSON em Java com Gson (simples e elegante)

\n\n

Gson do Google é, provavelmente, a maneira mais simples de parsear JSON em Java. Sua principal vantagem é o minimalismo. Você não precisa escrever muito código.

\n\n

Passo 1. Criamos uma classe Java (POJO) que corresponde à estrutura JSON.

\n\n
public class User {\n    private int id;\n    private String name;\n    private String email;\n    private boolean isActive;\n    private Address address;\n    private List<String> hobbies;\n\n    // Getters e Setters (obrigatórios para o Gson!)\n    public int getId() { return id; }\n    public void setId(int id) { this.id = id; }\n\n    public String getName() { return name; }\n    public void setName(String name) { this.name = name; }\n\n    // ... demais getters/setters de forma análoga\n}\n\npublic class Address {\n    private String city;\n    private String street;\n    // getters/setters\n}\n
\n\n

Passo 2. Parseamos o JSON com uma única linha.

\n\n
import com.google.gson.Gson;\n\npublic class GsonExample {\n    public static void main(String[] args) {\n        String json = "{\\"id\\":42,\\"name\\":\\"Alice\\",\\"email\\":\\"alice@example.com\\",\\"isActive\\":true,\\"address\\":{\\"city\\":\\"Moscou\\",\\"street\\":\\"Tverskaya\\"},\\"hobbies\\":[\\"leitura\\",\\"programação\\",\\"bicicleta\\"]}";\n\n        Gson gson = new Gson();\n        User user = gson.fromJson(json, User.class);\n\n        System.out.print                

Blogs

Book Recommendations