Processamento JSON em Java: bibliotecas Jackson e Gson
JSON (JavaScript Object Notation) é um formato leve de troca de dados, amplamente utilizado em desenvolvimento web, APIs e microsserviços. Em Java, existem várias bibliotecas poderosas para trabalhar com JSON, entre as quais as mais populares são Jackson e Gson. Neste artigo, vamos detalhar ambas as bibliotecas, suas funcionalidades, exemplos de uso e características.
1. Biblioteca Jackson
Jackson é uma biblioteca de alto desempenho para processamento JSON em Java, desenvolvida pela FasterXML. Ela fornece um conjunto completo de ferramentas para serialização, desserialização, análise e transformação de dados. Jackson é o padrão de facto no ecossistema Spring.
Principais funcionalidades do Jackson:
- ObjectMapper — classe principal para converter objetos Java em JSON e vice-versa.
- Anotações — configuração flexível da serialização usando anotações (
@JsonProperty,@JsonIgnore,@JsonFormat). - Suporte a Stream API — leitura e escrita de fluxos JSON.
- Serialização personalizada — possibilidade de criar serializadores e desserializadores próprios.
Exemplo de uso do Jackson:
import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.SerializationFeature;
public class JacksonExample { public static void main(String[] args) throws Exception { // Criando um objeto para mapeamento ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT);
// Exemplo de classe Person person = new Person("Ivan", 30, "ivan@example.com");
// Serialização para JSON String jsonString = mapper.writeValueAsString(person); System.out.println("JSON: " + jsonString);
// Desserialização a partir de JSON String jsonInput = "{\\"name\\":\\"Maria\\",\\"age\\":25,\\"email\\":\\"maria@example.com\\"}"; Person deserializedPerson = mapper.readValue(jsonInput, Person.class); System.out.println("Objeto: " + deserializedPerson.getName()); }}
class Person { private String name; private int age; private String email;
public Person() {} // construtor obrigatório
public Person(String name, int age, String email) { this.name = name; this.age = age; this.email = email; }
// 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; }}Adicionando Jackson (Maven):
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version></dependency>2. Biblioteca Gson
Gson é uma biblioteca do Google para serialização e desserialização de objetos Java em JSON e vice-versa. Ela se destaca pela simplicidade de uso e leveza. Gson é frequentemente escolhida para projetos pequenos e desenvolvimento móvel em Android.
Principais funcionalidades do Gson:
- GsonBuilder — configuração do comportamento da serialização.
- Anotações — suporte a
@SerializedNamepara renomear campos. - Suporte a arrays JSON — trabalho com coleções.
- Tratamento de null — opção de incluir/excluir valores nulos.
Exemplo de uso do Gson:
import com.google.gson.Gson;import com.google.gson.GsonB
``` Também na biblioteca
gRPC para JavaScript (Node.js): bibliotecas, configuração e exemplos de código
Parsing de HTML em Go: visão geral das bibliotecas e exemplos de código