-1
yaml是非常方便的,因爲你正在從yaml到java獲得一個很好的反序列化,但在我的情況下,我需要能夠在運行時獲得屬性值。有沒有辦法做到這一點,就好像你正在使用.properties文件來代替,例如,只需擁有屬性鍵值?是否有可能在運行時獲得yaml屬性?
appName: myAppName
這裏我想在運行時使用snakeyaml庫獲取myAppName值。
yaml是非常方便的,因爲你正在從yaml到java獲得一個很好的反序列化,但在我的情況下,我需要能夠在運行時獲得屬性值。有沒有辦法做到這一點,就好像你正在使用.properties文件來代替,例如,只需擁有屬性鍵值?是否有可能在運行時獲得yaml屬性?
appName: myAppName
這裏我想在運行時使用snakeyaml庫獲取myAppName值。
是yaml.load()基本上返回一個Java對象,所以你可以簡單地將其轉換爲適當的類型,讓你需要的東西:
Yaml yaml = new Yaml();
String input = "{appName: myAppName, appVersion: myAppVerison}";
Map yamlMap = (Map)yaml.load(input);
assertEquals("myAppName", yamlMap.get("appName"));
您使用來讀取YAML什麼庫? – Thilo
我正在使用snakeyaml –
你有什麼試過?什麼不行?應該有一個'我想象的'yaml.get(「appName」)。 – Thilo