JSON을 Java 객체로 변환
Mohammad Irfan
2023년10월12일
이 튜토리얼에서는 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
- Java에서 JSON 데이터 예쁘게 인쇄하기
- Java에서 JSON 데이터를 문자열로 변환
- Java에서 JSON 역직렬화
- Java에서 객체를 JSON으로 직렬화
- Java에서 JSON 배열 다루기
- Java에서 XML을 JSON으로 변환