yaml設定ファイルをJavaで解析する方法

JavaでYAML設定ファイルを解析するには、SnakeYAMLやJacksonのYAMLモジュールなどのサードパーティ製のライブラリを使用できます。

SnakeYAMLはYAMLデータを解析および生成するために使用できるJavaライブラリです。以下はSnakeYAMLを使用してYAML設定ファイルを解析するサンプルコードです。

import org.yaml.snakeyaml.Yaml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class YamlParser {
    public static void main(String[] args) {
        try {
            // 读取YAML文件
            FileInputStream input = new FileInputStream("config.yml");

            // 创建Yaml对象
            Yaml yaml = new Yaml();

            // 将YAML文件解析为Java对象
            Object data = yaml.load(input);

            // 处理解析后的数据
            // ...

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

上記のコードでは、”config.yml”というYAMLファイルをFileInputStreamで読み込み、Yamlオブジェクトを作成し、load()メソッドを使用してYAMLファイルをJavaオブジェクトにパースしています。

JSONやその他のデータ形式を扱うために使用できる一般的なJavaライブラリであるJacksonは、YAMLを処理するために専用のモジュールも提供しています。以下に、JacksonのYAMLモジュールを使用してYAML設定ファイルを解析するコードの例を示します。

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class YamlParser {
    public static void main(String[] args) {
        try {
            // 读取YAML文件
            FileInputStream input = new FileInputStream("config.yml");

            // 创建ObjectMapper对象
            ObjectMapper mapper = new ObjectMapper(new YAMLFactory());

            // 将YAML文件解析为Java对象
            Object data = mapper.readValue(input, Object.class);

            // 处理解析后的数据
            // ...

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上記のコードでは、FileInputStreamから”config.yml”という名前のYAMLファイルを読み取り、ObjectMapperオブジェクトを作成し、readValue()メソッドを使用して、YAMLファイルをJavaオブジェクトにパースしています。

SnakeYAMLもJacksonのYAMLモジュールを使用するにしても、パースしたJavaオブジェクトを都合よく取り扱うことができます。

bannerAds