[java] Jackson을 사용하여 JSON 파일을 읽고 쓰는 방법은 무엇인가요?

Jackson은 Java에서 JSON 데이터를 처리하기 위한 강력하고 유연한 라이브러리입니다. JSON 파일을 읽고 쓰기 위해 Jackson을 사용하는 방법에 대해 알아보겠습니다.

  1. Jackson 라이브러리 추가하기 먼저, 프로젝트에 Jackson 라이브러리를 추가해야 합니다. Maven 프로젝트의 경우 pom.xml 파일에 아래의 의존성을 추가합니다.

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.12.3</version>
    </dependency>
    

    Gradle 프로젝트의 경우 build.gradle 파일에 아래의 의존성을 추가합니다.

    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
    
  2. JSON 파일 읽기 JSON 파일을 읽기 위해서는 ObjectMapper 클래스를 사용합니다. ObjectMapper는 JSON 데이터를 Java 객체로 변환해주는 역할을 합니다. 아래의 코드는 JSON 파일을 읽어서 Java 객체로 변환하는 예시입니다.

    import com.fasterxml.jackson.databind.ObjectMapper;
    import java.io.File;
       
    public class JsonReader {
        public static void main(String[] args) {
            try {
                ObjectMapper objectMapper = new ObjectMapper();
                File file = new File("data.json"); // 읽을 JSON 파일 경로
                MyData myData = objectMapper.readValue(file, MyData.class);
                System.out.println(myData);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    위의 코드에서 MyData는 JSON 파일에 저장된 데이터에 대응하는 Java 클래스입니다.

  3. JSON 파일 쓰기 JSON 파일을 쓰기 위해서도 ObjectMapper 클래스를 사용합니다. ObjectMapper는 Java 객체를 JSON 데이터로 변환해주는 역할을 합니다. 아래의 코드는 Java 객체를 JSON 파일로 변환하여 저장하는 예시입니다.

    import com.fasterxml.jackson.databind.ObjectMapper;
    import java.io.File;
       
    public class JsonSerializer {
        public static void main(String[] args) {
            try {
                ObjectMapper objectMapper = new ObjectMapper();
                MyData myData = new MyData("John", 25); // 저장할 데이터 객체 생성
                File file = new File("data.json"); // 저장할 JSON 파일 경로
                objectMapper.writeValue(file, myData);
                System.out.println("JSON 파일이 저장되었습니다.");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    위의 코드에서 MyData는 JSON 파일에 저장할 데이터를 나타내는 Java 클래스입니다.

Jackson을 사용하여 JSON 파일을 읽고 쓰는 방법에 대해 알아보았습니다. Jackson은 다양한 기능을 제공하므로 공식 문서나 관련 자료를 참고하여 자세한 사용법을 익히시기를 권장합니다.

참고 문서: