2013-07-15 53 views
-1

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

appName: myAppName 

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

+2

您使用来读取YAML什么库? – Thilo

+0

我正在使用snakeyaml –

+1

你有什么试过?什么不行?应该有一个'我想象的'yaml.get(“appName”)。 – Thilo

回答

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")); 
相关问题