yaml非常方便,因为你从yaml到java得到了很好的反序列化,但在我的情况下,我需要能够在运行时获取属性值。有没有办法实现这一点,就好像你使用.properties文件,例如,只是拥有属性键值?
appName: myAppName
这里我想使用snakeyaml库在运行时获取myAppName值。
答案 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"));