[java] Jackson을 사용하여 JSON을 POJO 객체로 변환하는 방법은 무엇인가요?
JSON(JavaScript Object Notation)은 데이터를 표현하기 위한 경량화된 형식으로 널리 사용됩니다. Jackson은 Java에서 JSON 데이터를 처리하기 위한 유명한 라이브러리입니다. 이 라이브러리를 사용하여 JSON 데이터를 POJO(Plain Old Java Object) 객체로 변환하는 방법을 알아보겠습니다.
먼저, Jackson 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 종속성을 추가하십시오.
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
</dependencies>
이제 JSON을 POJO 객체로 변환하는 방법을 살펴보겠습니다. 다음은 예시 JSON 데이터입니다.
{
"name": "John Doe",
"age": 30,
"email": "johndoe@example.com"
}
POJO 클래스를 작성해야 합니다. 예시 JSON의 필드와 동일한 필드를 가진 클래스를 생성합니다.
public class Person {
private String name;
private int age;
private String email;
// Getters and setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
이제 JSON 데이터를 POJO 객체로 변환하는 코드를 작성해보겠습니다.
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) {
String json = "{\"name\": \"John Doe\", \"age\": 30, \"email\": \"johndoe@example.com\"}";
ObjectMapper objectMapper = new ObjectMapper();
try {
Person person = objectMapper.readValue(json, Person.class);
System.out.println(person.getName()); // John Doe
System.out.println(person.getAge()); // 30
System.out.println(person.getEmail()); // johndoe@example.com
} catch (Exception e) {
e.printStackTrace();
}
}
}
위의 코드에서는 ObjectMapper 클래스를 사용하여 JSON 데이터를 POJO 객체로 변환합니다. readValue() 메서드는 첫 번째 인자로 변환할 JSON 문자열을, 두 번째 인자로는 변환할 클래스 타입을 받습니다. 변환된 Person 객체의 필드에 접근하여 데이터를 확인할 수 있습니다.
이제 Jackson을 사용하여 JSON을 POJO 객체로 변환하는 방법을 알게 되었습니다. 이를 응용하여 다양한 JSON 데이터를 Java 객체로 변환해보세요.