[java] Jackson의 다양한 데이터 유형 처리

Jackson은 Java에서 JSON 데이터를 다루는 데 유용한 라이브러리이다. 이 라이브러리는 JSON 데이터를 Java 객체로 매핑하거나 Java 객체를 JSON으로 변환하는 기능을 제공하여 다양한 데이터 유형을 처리할 수 있다.

1. JSON 데이터에서 Java 객체로 매핑

Jackson을 사용하면 JSON 데이터를 Java 객체로 쉽게 매핑할 수 있다. 아래는 간단한 JSON 데이터를 Java 객체로 매핑하는 예제이다.

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonMapper {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\", \"age\":30}";
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Person person = objectMapper.readValue(json, Person.class);
            System.out.println("Name: " + person.getName());
            System.out.println("Age: " + person.getAge());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 예제에서 Person 클래스는 JSON 데이터의 key와 매핑되는 필드를 가지고 있다.

2. 다양한 데이터 유형 다루기

Jackson을 사용하면 다양한 데이터 유형을 처리할 수 있다. 예를 들어, JSON 데이터에서 배열, 중첩된 객체, 날짜 등의 데이터를 쉽게 처리할 수 있다. 아래는 예제이다.

2.1 배열 처리

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonArrayMapper {
    public static void main(String[] args) {
        String jsonArray = "[{\"name\":\"John\", \"age\":30}, {\"name\":\"Jane\", \"age\":25}]";
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Person[] persons = objectMapper.readValue(jsonArray, Person[].class);
            for (Person person : persons) {
                System.out.println("Name: " + person.getName());
                System.out.println("Age: " + person.getAge());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 예제에서 Person 클래스는 JSON 배열의 각 요소와 매핑된다.

2.2 중첩된 객체 처리

중첩된 JSON 객체도 쉽게 처리할 수 있다.

2.3 날짜 데이터 처리

JSON 데이터의 날짜 형식을 자바 Date 객체로 변환하는 것도 간단히 처리할 수 있다.

Jackson을 사용하여 데이터를 처리하는 방법에는 더 많은 기능이 있지만, 이러한 기능들은 주요한 데이터 유형들을 다루는 데 매우 유용하다.

노트: Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 Jackson을 프로젝트에 추가해야 한다.

Jackson 라이브러리를 사용하면 다양한 데이터 유형을 쉽게 처리할 수 있으며, 이는 Java 언어에서 JSON 데이터를 다루는 데 매우 유용하다.

참고 자료