是否可以在运行时获取yaml属性?

时间:2013-07-15 12:07:56

标签: java yaml snakeyaml

yaml非常方便,因为你从yaml到java得到了很好的反序列化,但在我的情况下,我需要能够在运行时获取属性值。有没有办法实现这一点,就好像你使用.properties文件,例如,只是拥有属性键值?

appName: myAppName

这里我想使用snakeyaml库在运行时获取myAppName值。

1 个答案:

答案 0 :(得分:1)

是的yaml.load()基本上返回一个java对象,所以你可以简单地将它转换为适当的类型并获得你需要的东西:

    Yaml yaml = new Yaml();
    String input = "{appName: myAppName, appVersion: myAppVerison}";
    Map yamlMap = (Map)yaml.load(input);
    assertEquals("myAppName", yamlMap.get("appName"));