Processamento JSON em Java: bibliotecas e ferramentas para trabalhar com JSON

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

Processamento JSON em Java: revisão de bibliotecas e ferramentas



JSON (JavaScript Object Notation) é um formato leve de troca de dados, amplamente utilizado em aplicações web modernas, REST APIs, arquivos de configuração e bancos de dados. Em Java, existem várias bibliotecas poderosas para trabalhar com JSON, cada uma com suas próprias características, desempenho e facilidade de uso. Neste artigo, vamos explorar as principais ferramentas, suas capacidades, exemplos de código e melhores práticas de aplicação.



1. Jackson (FasterXML Jackson)

Jackson é a biblioteca mais popular e de alto desempenho para trabalhar com JSON em Java. Ela suporta tanto processamento em streaming (estilo SAX) quanto modelo de objeto (estilo DOM). Jackson faz parte do Spring Boot e de muitas aplicações enterprise.



Principais capacidades:

  • Serialização/desserialização de objetos Java para JSON e vice-versa
  • Processamento em streaming de grandes arquivos JSON (JsonParser, JsonGenerator)
  • Suporte a anotações para ajuste fino (@JsonProperty, @JsonIgnore, @JsonFormat)
  • Trabalho com árvore de nós (JsonNode)
  • Suporte a JSON Schema e validação


Exemplo de código: uso básico do Jackson

import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.JsonNode;

public class JacksonExample { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper();

// Serialização de objeto para JSON Person person = new Person("Ivan", 30, "ivan@example.com"); String json = mapper.writeValueAsString(person); System.out.println(json); // {"name":"Ivan","age":30,"email":"ivan@example.com"}

// Desserialização de JSON para objeto String jsonInput = "{\\"name\\":\\"Maria\\",\\"age\\":25}"; Person deserialized = mapper.readValue(jsonInput, Person.class); System.out.println(deserialized.getName()); // Maria

// Trabalho com árvore de nós JsonNode root = mapper.readTree(jsonInput); System.out.println(root.get("age").asInt()); // 25 }}

class Person { private String name; private int age; private String email;

// Construtores, getters, setters (obrigatórios para desserialização) public Person() {} public Person(String name, int age, String email) { this.name = name; this.age = age; this.email = email; } // getters e setters...}


2. Gson (Google Gson)

Gson é uma biblioteca do Google, conhecida por sua simplicidade e leveza. Ela é ideal para projetos pequenos e médios, onde não é necessário o máximo desempenho. Gson usa reflexão para serialização/desserialização automática.



Características:

  • Configuração mínima — funciona "pronto para uso"
  • Suporte a anotações (@Expose, @SerializedName)
  • Possibilidade de criar adaptadores personalizados (JsonSerializer, JsonDeserializer)
  • Trabalho com coleções, arrays e objetos aninhados


Exemplo de código: Gson em ação

import com.google.gson.Gson;import com.google.gson.GsonBuilder;

public class GsonExample { public static void main(String[] args) { Gson gson = new GsonBuilder() .setPrettyPrinting() // saída formatada .create();

// Criação de JSON a partir de objeto Product product = new Product("Notebook", 899.99, true); String json = gson.toJson(product); System.out.println(json);

// Parsing de JSON para objeto String jsonInput = "{\\"name\\":\\"Mouse\\",\\"price\\":25.5,\\"available\\":false}"; Product parsed = gson.fromJson(jsonInput, Product.class); System.out.println(parsed.getName()); // Mouse }}

class Product {

Recommendations