如何使用java将yaml文件转换为数组

时间:2012-01-27 12:23:35

标签: java parsing yaml snakeyaml jyaml

我需要将yaml文件数据访问到java文件中。 我使用了YamlReader类,现在yaml文件被加载到java类对象中。 现在所有的信息都在对象中,我想从这个对象中提取它。我怎么能这样做。 任何人都可以帮助我,我会遇到这个问题。

3 个答案:

答案 0 :(得分:0)

您可以阅读地图:

YamlReader reader = new YamlReader(new FileReader("contact.yml"));
Object object = reader.read();
System.out.println(object);
Map map = (Map)object;
System.out.println(map.get("address"));

来源:http://code.google.com/p/yamlbeans/

答案 1 :(得分:0)

Yaml yaml = new Yaml();
String document = "\n- Hesperiidae\n- Papilionidae\n- Apatelodidae\n- Epiplemidae";
List<String> list = (List<String>) yaml.load(document);
System.out.println(list);

答案 2 :(得分:0)

使用snakeyaml,下面的代码对我不起作用。当yaml对象返回我的对象​​时,它返回LinkedHashMap类型。所以我将退回的对象投射到LinkedHashMap

public class YamlConfig {

    Yaml yaml = new Yaml();
    String path = "blah blah";
    InputStream input = new FileInputStream(new File(this.path));
    LinkedHashMap<String,String> map;

    @SuppressWarnings("unchecked")
    private void loadHashMap() throws IOException {
        Object data = yaml.load(input);// load the yaml document into a java object
         this.map = (LinkedHashMap<String,String>)data;
         System.out.println(map.entrySet()); //use this to look at your hashmap keys
         System.out.println(map);//see the entire map
    }