[java] SnakeYAML을 사용하여 YAML 파일의 객체 디시리얼라이즈하기

YAML은 사람이 가독성 있게 작성할 수 있는 데이터 직렬화 형식입니다. Java에서는 SnakeYAML 라이브러리를 사용하여 YAML 파일을 읽고 객체로 디시리얼라이즈할 수 있습니다.

SnakeYAML 라이브러리 추가하기

SnakeYAML을 사용하기 위해서는 먼저 해당 라이브러리를 프로젝트에 추가해야 합니다. Maven 프로젝트의 경우 pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>1.27</version>
</dependency>

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

dependencies {
    implementation 'org.yaml:snakeyaml:1.27'
}

YAML 파일 읽기

SnakeYAML을 사용하여 YAML 파일을 읽고 객체로 디시리얼라이즈하려면 다음과 같이 작성할 수 있습니다:

import org.yaml.snakeyaml.Yaml;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class YamlReader {
    public static void main(String[] args) {
        try {
            FileInputStream fileInputStream = new FileInputStream("example.yaml");
            Yaml yaml = new Yaml();
            
            // YAML 파일을 읽고 객체로 디시리얼라이즈
            Object data = yaml.load(fileInputStream);
            
            // 디시리얼라이즈된 객체 사용하기
            // 예를 들어, Map<String, Object> 형태로 디시리얼라이즈될 수 있습니다.
            Map<String, Object> myData = (Map<String, Object>) data;
            
            // 디시리얼라이즈된 객체 출력하기
            System.out.println(myData);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 example.yaml 파일을 읽어온 후 SnakeYAML의 load 메소드를 사용하여 디시리얼라이즈한 다음, 디시리얼라이즈된 데이터를 출력하고 있습니다.

참고 자료

이제 SnakeYAML을 사용하여 YAML 파일의 객체 디시리얼라이즈하는 방법에 대해 알아보았습니다. SnakeYAML은 간편하게 YAML 파일을 읽고 객체로 변환할 수 있는 강력한 도구입니다. 자세한 사용법은 공식 문서를 참고하시면 됩니다.