概要
JYaml導入について
Yamlとは
YAML(ヤムル)とは、構造化データやオブジェクトを文字列に
シリアライズ(直列化)するためのデータ形式の一種。
スクリプト系言語の設定ファイルなどによく利用される。
インデントを利用した文法であるため、xmlに比べてシンプルで
人が見て理解しやすい。
JYaml設定手順
・JYaml公式サイトにアクセス
http://jyaml.sourceforge.net/download.html
・Click here to download.を押下してダウンロードサイトに移動
http://sourceforge.net/projects/jyaml/files/
・ Download jyaml-1.3.jar (59.3 kB)を押下し、ファイルをダウンロード
※仮にC:\JYamlにjyaml-1.3.jarをダウンロードします
・Eclipseを起動
・Yamlを利用したいプロジェクトのビルドパスのライブラリにjyaml-1.3.jarを追加
初期動作確認
ListとMapの取得処理で動作確認をします。
Yamlファイル内容
yaml_array.yml
- list1 - list2 - - list3_1 - list3_2 - list3_3
yaml_hash.yml
key1: value1 key2: value2 key3: key3_1: value3_1 key3_2: value3_2
サンプルコード
package jyaml; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.ho.yaml.Yaml; public class YamlSample { private final static String CONF_PATH = File.separator + "conf"; /** * @param args */ @SuppressWarnings("unchecked") public static void main(String[] args) { try { String dir = System.getProperty("user.dir"); List<Object> array = (ArrayList<Object>) Yaml.load(new File(dir + CONF_PATH + File.separator + "yaml_array.yml")); System.out.println(array); System.out.println(array.get(2)); List<Object> child = (ArrayList<Object>)array.get(2); System.out.println(child.get(2)); Map<String, Object> hash = (HashMap<String, Object>) Yaml.load(new File(dir + CONF_PATH + File.separator + "yaml_hash.yml")); System.out.println(hash); System.out.println(hash.get("key2")); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
出力
[list1, list2, [list3_1, list3_2, list3_3]] [list3_1, list3_2, list3_3] list3_3 {key3={key3_2=value3_2, key3_1=value3_1}, key2=value2, key1=value1} value2