Processamento JSON em Java: bibliotecas Jackson e Gson para manipulação de dados

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
Here is the translated HTML content in Portuguese (Português), with all HTML tags preserved and only the text content translated. ```html

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 @SerializedName para 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
```                    

Recommendations