[java] JSON을 Java 객체로 변환하는 방법은?

Java에서 JSON을 Java 객체로 변환하는 방법은 매우 간단하고 편리합니다. 이를 위해 다양한 라이브러리를 활용할 수 있습니다. 그 중에서 가장 많이 사용되는 방법은 Jackson 라이브러리를 이용하는 것입니다.

Jackson은 JSON 데이터를 Java 객체로 매핑할 수 있는 ObjectMapper 클래스를 제공합니다. 이를 사용하여 JSON 문자열을 Java 객체로 변환할 수 있습니다. 아래는 간단한 예제 코드입니다.

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonToJavaExample {
    public static void main(String[] args) {
        String jsonString = '{"name":"John", "age":30, "city":"New York"}';

        ObjectMapper objectMapper = new ObjectMapper();
        try {
            // JSON 문자열을 Java 객체로 변환
            Person person = objectMapper.readValue(jsonString, Person.class);

            System.out.println(person.getName());  // John
            System.out.println(person.getAge());   // 30
            System.out.println(person.getCity());  // New York
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

// 사용자 정의 클래스
class Person {
    private String name;
    private int age;
    private String city;

    // Getter와 Setter 생략

    // 기본 생성자
    public Person() {}

    // 매개변수를 받는 생성자
    public Person(String name, int age, String city) {
        this.name = name;
        this.age = age;
        this.city = city;
    }
}

위의 코드를 실행하면 JSON 문자열이 Java 객체로 변환되어 출력됩니다. ObjectMapper의 readValue 메서드는 첫 번째 인자로 JSON 문자열을, 두 번째 인자로 변환하고자 하는 클래스 타입을 받습니다. 변환된 Java 객체는 Person 클래스의 인스턴스로 할당됩니다.

Jackson 라이브러리는 다양한 기능과 설정 옵션을 제공하여 JSON 데이터를 다루는 데 유용합니다. 더 자세한 내용은 Jackson 공식 문서를 참고하세요.