2013-07-15 56 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")); 
相關問題