渡す必要がある次の形式のファイルがあるとします。
Name: XYZ
SSN: 123
Name: ABC
SSN: 456
次のクラスを作成したとします
Class Data{
String name;
int ssn;
}
ここで、上記のファイルを解析する必要があり、エントリごとにデータ型のオブジェクトを作成する必要があります。Javaでsnakeyamlを使用するにはどうすればよいですか?
簡単に言うと、これを SnakeYaml で動作させることはできませんでしたが、YamlBeans で動作させることはできました。YAML ドキュメントは次のようになります (以前の回答のエラーを修正した後)。
-
name: XYZ
ssn: 123
-
name: ABC
ssn: 456
ソースは次のとおりです。
import java.io.FileNotFoundException;
import java.io.FileReader;
import com.esotericsoftware.yamlbeans.YamlException;
import com.esotericsoftware.yamlbeans.YamlReader;
public class ArraySpike
{
public static void main(String[] args) throws FileNotFoundException, YamlException
{
System.out.println("Parsing " + args[0] + " ...\n");
YamlReader reader = new YamlReader(new FileReader(args[0]));
Data[] dArray = reader.read(Data[].class);
for (Data d: dArray)
{
System.out.println("name: " + d.name);
System.out.println("ssn: " + d.ssn + "\n");
}
}
}
以前のコメントのとおり、「Data」クラスを適切な Bean に変更しました。