Converter JSON em objeto Java

Mohammad Irfan 12 outubro 2023
  1. Converta JSON em um objeto Java usando a biblioteca Gson em Java
  2. Converter JSON em objeto Java usando a biblioteca Jackson em Java
Converter JSON em objeto Java

Este tutorial apresenta como converter JSON em um objeto Java em Java.

Para converter JSON em um objeto Java, podemos usar várias bibliotecas, como Jackson e Gson. O Jackson é uma biblioteca de manipulação JSON baseada em Java criada pela Apache. Da mesma forma, Gson é usado para lidar com JSON e criado pelo Google. Podemos usar a biblioteca para converter JSON em um objeto Java e vice-versa.

Então, vamos começar e ver alguns exemplos de trabalho.

Converta JSON em um objeto Java usando a biblioteca Gson em Java

Neste exemplo, usamos a biblioteca Gson e sua classe Gson que lê dados JSON e os converte para o tipo especificado (Student). Após a conversão, podemos obter dados usando getters da classe Student. Veja o exemplo abaixo.

import com.google.gson.Gson;

public class SimpleTesting {
  public static void main(String[] args) throws InterruptedException {
    String json = "" "
    {
      "firstName" : "Rohan",
                    "lastName" : "Singh",
                                 "dateOfBirth" : "1990-12-15",
                                                 "address" : "34/Art",
                                                             "city" : "California",
                                                                      "contact" : "85652321"
    }
    "" ";
        Student data = new Gson().fromJson(json, Student.class);
    System.out.println(data.getFirstName());
    System.out.println(data.getLastName());
    System.out.println(data.getCity());
  }
}

class Student {
  private String firstName;
  private String lastName;
  private String dateOfBirth;
  private String address;
  private String city;
  private String contact;

  public String getFirstName() {
    return firstName;
  }
  public void setFirstName(String firstName) {
    this.firstName = firstName;
  }
  public String getLastName() {
    return lastName;
  }
  public void setLastName(String lastName) {
    this.lastName = lastName;
  }
  public String getDateOfBirth() {
    return dateOfBirth;
  }
  public void setDateOfBirth(String dateOfBirth) {
    this.dateOfBirth = dateOfBirth;
  }
  public String getAddress() {
    return address;
  }
  public void setAddress(String address) {
    this.address = address;
  }
  public String getCity() {
    return city;
  }
  public void setCity(String city) {
    this.city = city;
  }
  public String getContact() {
    return contact;
  }
  public void setContact(String contact) {
    this.contact = contact;
  }
}

Resultado:

Rohan Singh California

Converter JSON em objeto Java usando a biblioteca Jackson em Java

Usamos a biblioteca Jackson e sua classe ObjectMapper que lê dados JSON e converte para o tipo especificado (Student). Após a conversão, podemos obter dados usando getters da classe Student.

Veja o exemplo abaixo.

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import java.io.File;
import java.io.IOException;
public class SimpleTesting {
  public static void main(String[] args) throws InterruptedException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.enable(SerializationFeature.INDENT_OUTPUT);
    try {
      Student student = mapper.readValue(new File("json-file.json"), Student.class);
      System.out.println("First Name: " + student.getFirstName());
      System.out.println("Last Name: " + student.getLastName());
      System.out.println("City: " + student.getCity());
      System.out.println("Address: " + student.getAddress());
      System.out.println("Contact: " + student.getContact());
      System.out.println("Date of Birth: " + student.getDateOfBirth());
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

class Student {
  private String firstName;
  private String lastName;
  private String dateOfBirth;
  private String address;
  private String city;
  private String contact;

  public String getFirstName() {
    return firstName;
  }
  public void setFirstName(String firstName) {
    this.firstName = firstName;
  }
  public String getLastName() {
    return lastName;
  }
  public void setLastName(String lastName) {
    this.lastName = lastName;
  }
  public String getDateOfBirth() {
    return dateOfBirth;
  }
  public void setDateOfBirth(String dateOfBirth) {
    this.dateOfBirth = dateOfBirth;
  }
  public String getAddress() {
    return address;
  }
  public void setAddress(String address) {
    this.address = address;
  }
  public String getCity() {
    return city;
  }
  public void setCity(String city) {
    this.city = city;
  }
  public String getContact() {
    return contact;
  }
  public void setContact(String contact) {
    this.contact = contact;
  }
}

Resultado:

First Name : Rohan Last Name : Singh City : California Address : 34
                                            / Art Contact : 85652321 Date of Birth : 1990
    - 12 - 15

Artigo relacionado - Java JSON

Artigo relacionado - JSON Object