JSON을 Java 객체로 변환

Mohammad Irfan 2023년10월12일
  1. Java에서 Gson 라이브러리를 사용하여 JSON을 Java 객체로 변환
  2. Java에서 Jackson 라이브러리를 사용하여 JSON을 Java 객체로 변환
JSON을 Java 객체로 변환

이 튜토리얼에서는 Java에서 JSON을 Java 객체로 변환하는 방법을 소개합니다.

JSON을 Java 객체로 변환하기 위해 Jackson 및 Gson과 같은 여러 라이브러리를 사용할 수 있습니다. Jackson은 Apache에서 만든 Java 기반 JSON 처리 라이브러리입니다. 마찬가지로 Gson은 JSON을 처리하는 데 사용되며 Google에서 만듭니다. 두 라이브러리를 모두 사용하여 JSON을 Java 객체로 또는 그 반대로 변환할 수 있습니다.

이제 시작하고 몇 가지 작업 예제를 살펴보겠습니다.

Java에서 Gson 라이브러리를 사용하여 JSON을 Java 객체로 변환

이 예제에서는 Gson 라이브러리와 JSON 데이터를 읽고 지정된 유형(Student)으로 변환하는 Gson 클래스를 사용했습니다. 변환 후 Student 클래스의 getter를 사용하여 데이터를 얻을 수 있습니다. 아래 예를 참조하십시오.

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

출력:

Rohan
Singh
California

Java에서 Jackson 라이브러리를 사용하여 JSON을 Java 객체로 변환

Jackson 라이브러리와 JSON 데이터를 읽고 지정된 유형(Student)으로 변환하는 ObjectMapper 클래스를 사용했습니다. 변환 후 Student 클래스의 getter를 사용하여 데이터를 얻을 수 있습니다.

아래 예를 참조하십시오.

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

출력:

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

관련 문장 - Java JSON

관련 문장 - JSON Object