yaml非常方便,因为您可以很好地从yaml反序列化为java,但在我的情况下,我需要能够在运行时获得属性值。有没有一种方法可以像使用.properties文件一样实现这一点,例如,只需使用property键值?
appName: myAppName
在这里,我想使用snakeyaml库在运行时获得myAppName值。
Yes yaml.load()基本上返回一个java对象,因此您可以简单地将其转换为适当的类型并获得所需的内容:
Yaml yaml = new Yaml();
String input = "{appName: myAppName, appVersion: myAppVerison}";
Map yamlMap = (Map)yaml.load(input);
assertEquals("myAppName", yamlMap.get("appName"));