0

渡す必要がある次の形式のファイルがあるとします。

Name: XYZ
 SSN: 123

Name: ABC
 SSN: 456

次のクラスを作成したとします

Class Data{
 String name;
 int ssn;
 }

ここで、上記のファイルを解析する必要があり、エントリごとにデータ型のオブジェクトを作成する必要があります。Javaでsnakeyamlを使用するにはどうすればよいですか?

4

2 に答える 2

1

簡単に言うと、これを 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 に変更しました。

于 2013-04-26T23:44:19.913 に答える