Convertir JSON en objet Java

Mohammad Irfan 12 octobre 2023
  1. Convertir JSON en objet Java à l’aide de la bibliothèque Gson en Java
  2. Convertir JSON en objet Java à l’aide de la bibliothèque Jackson en Java
Convertir JSON en objet Java

Ce tutoriel explique comment convertir JSON en objet Java en Java.

Pour convertir JSON en objet Java, nous pouvons utiliser plusieurs bibliothèques telles que Jackson et Gson. The Jackson est une bibliothèque de gestion JSON basée sur Java créée par Apache. De même, Gson est utilisé pour gérer JSON et créé par Google. Nous pouvons utiliser à la fois la bibliothèque pour convertir JSON en objet Java et vice versa.

Alors, commençons et voyons quelques exemples de travail.

Convertir JSON en objet Java à l’aide de la bibliothèque Gson en Java

Dans cet exemple, nous avons utilisé la bibliothèque Gson et sa classe Gson qui lit les données JSON et les convertit pour le type spécifié (Student). Après la conversion, nous pouvons obtenir des données en utilisant des getters de la classe Student. Voir l’exemple ci-dessous.

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;
  }
}

Production:

Rohan
Singh
California

Convertir JSON en objet Java à l’aide de la bibliothèque Jackson en Java

Nous avons utilisé la bibliothèque Jackson et sa classe ObjectMapper qui lit les données JSON et les convertit pour le type spécifié (Student). Après la conversion, nous pouvons obtenir des données en utilisant des getters de la classe Student.

Voir l’exemple ci-dessous.

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;
  }
}

Production:

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

Article connexe - Java JSON

Article connexe - JSON Object