Como manipular arquivos JSON em Java?

A manipulação de arquivos JSON em Java pode ser feita com bibliotecas como Jackson e Gson, permitindo conversão fácil entre objetos Java e JSON.

Como manipular arquivos JSON em Java?

O JSON é um dos formatos mais utilizados para armazenamento e troca de dados. Em Java, podemos manipular arquivos JSON utilizando bibliotecas como Jackson e Gson para converter objetos Java em JSON e vice-versa.

1. Usando Jackson para Manipular JSON

A biblioteca Jackson é amplamente utilizada para leitura e escrita de JSON em Java.

1.1. Adicionando a Dependência (Maven)

Caso esteja usando Maven, adicione Jackson ao seu projeto:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.14.0</version>
</dependency>

1.2. Criando uma Classe Java

Antes de ler e escrever JSON, precisamos de uma classe modelo.

public class Usuario {
    private String nome;
    private int idade;

    public Usuario() {}

    public Usuario(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    public String getNome() { return nome; }
    public int getIdade() { return idade; }
}

1.3. Convertendo um Objeto Java para JSON

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;

public class EscreverJSON {
    public static void main(String[] args) {
        try {
            Usuario usuario = new Usuario("João", 30);
            ObjectMapper mapper = new ObjectMapper();
            mapper.writeValue(new File("usuario.json"), usuario);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Este código cria um arquivo usuario.json contendo os dados do objeto.

1.4. Lendo um JSON para um Objeto Java

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;

public class LerJSON {
    public static void main(String[] args) {
        try {
            ObjectMapper mapper = new ObjectMapper();
            Usuario usuario = mapper.readValue(new File("usuario.json"), Usuario.class);
            System.out.println("Nome: " + usuario.getNome());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2. Usando Gson para Manipular JSON

Se preferir, a biblioteca Gson, do Google, também pode ser usada.

2.1. Adicionando a Dependência (Maven)

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

2.2. Convertendo um Objeto para JSON com Gson

import com.google.gson.Gson;
import java.io.FileWriter;

public class EscreverJSONGson {
    public static void main(String[] args) {
        try {
            Usuario usuario = new Usuario("Maria", 25);
            Gson gson = new Gson();
            FileWriter writer = new FileWriter("usuario_gson.json");
            gson.toJson(usuario, writer);
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2.3. Lendo JSON com Gson

import com.google.gson.Gson;
import java.io.FileReader;

public class LerJSONGson {
    public static void main(String[] args) {
        try {
            Gson gson = new Gson();
            FileReader reader = new FileReader("usuario_gson.json");
            Usuario usuario = gson.fromJson(reader, Usuario.class);
            reader.close();
            System.out.println("Nome: " + usuario.getNome());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

3. Quando Usar Jackson ou Gson?

Biblioteca Vantagens
Jackson Mais completa, suporta diversos formatos
Gson Mais leve e fácil de usar

Conclusão

A manipulação de arquivos JSON em Java é facilitada por bibliotecas como Jackson e Gson, que permitem conversão rápida entre objetos e JSON. A escolha entre as bibliotecas depende da necessidade da aplicação.

JSON é um dos formatos mais usados para armazenar e transferir dados entre sistemas. APIs REST, bancos de dados NoSQL e aplicações web frequentemente utilizam JSON para comunicação entre clientes e servidores. A escolha da biblioteca correta para manipular JSON em Java impacta diretamente a performance e a facilidade de manutenção do código.

Algumas aplicações:

  • Armazenamento de dados estruturados
  • Troca de informações entre sistemas
  • Configuração de aplicativos
  • Manipulação de APIs REST

Dicas para quem está começando

  • Use Jackson para projetos mais complexos
  • Prefira Gson para aplicações mais leves
  • Trate exceções para evitar erros na leitura de arquivos JSON
  • Teste diferentes bibliotecas para escolher a mais adequada ao seu projeto
  • Evite modificar arquivos JSON diretamente sem backup

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como manipular arquivos JSON em Java

Compartilhe este tutorial

Continue aprendendo:

Como escrever em um arquivo de texto em Java

A escrita de arquivos de texto em Java pode ser feita com FileWriter, BufferedWriter e NIO, garantindo eficiência e controle sobre os dados gravados.

Tutorial anterior

Como manipular arquivos CSV em Java

A manipulação de arquivos CSV em Java pode ser feita com FileReader, BufferedReader e bibliotecas especializadas como OpenCSV para garantir eficiência na leitura e escrita.

Próximo tutorial