[java] SnakeYAML을 사용하여 자바 객체를 YAML 문자열로 변환하기

이번 포스트에서는 SnakeYAML 라이브러리를 사용하여 자바 객체를 YAML 문자열로 변환하는 방법에 대해 알아보겠습니다. YAML은 사람이 쉽게 읽고 작성할 수 있는 데이터 형식으로, 자바 객체를 YAML 형식으로 저장하면 설정 파일 등에 활용할 수 있습니다.

1. 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'
}

의존성을 추가한 후에는 라이브러리를 사용할 준비가 끝났습니다.

2. 자바 객체를 YAML 문자열로 변환하기

SnakeYAML을 사용하여 자바 객체를 YAML 문자열로 변환하는 과정은 간단합니다. 다음 예제 코드를 참고해주세요:

import org.yaml.snakeyaml.Yaml;

public class App {
    public static void main(String[] args) {
        // YAML로 변환할 자바 객체 생성
        Person person = new Person("John Doe", 30);

        // SnakeYAML Yaml 인스턴스 생성
        Yaml yaml = new Yaml();

        // 객체를 YAML 문자열로 변환
        String yamlString = yaml.dump(person);

        // 변환된 YAML 출력
        System.out.println(yamlString);
    }
}

class Person {
    private String name;
    private int age;

    // 생성자, getter, setter 등 생략

    // 객체를 YAML로 변환하기 위해 필요한 기본 생성자
    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

위의 코드에서는 Person 클래스를 YAML로 변환하고 출력하는 예제입니다. Yaml 클래스의 dump 메소드를 사용하여 자바 객체를 YAML 문자열로 변환할 수 있습니다.

3. 실행 결과 확인하기

위의 코드를 실행하면 다음과 같은 YAML 문자열이 출력됩니다:

!!com.example.Person
age: 30
name: John Doe

Person 클래스의 필드들이 YAML 형식으로 표현되어 있음을 확인할 수 있습니다.

마무리

이번 포스트에서는 SnakeYAML 라이브러리를 사용하여 자바 객체를 YAML 문자열로 변환하는 방법에 대해 알아보았습니다. SnakeYAML은 간단하고 효율적인 방법으로 자바 객체를 YAML로 변환할 수 있는 좋은 라이브러리입니다. 다양한 설정 파일이나 데이터 저장 등에 활용할 수 있으니 참고해보세요.

참고: SnakeYAML GitHub 페이지