2013-07-15 2 views
-1

yaml очень удобен, потому что вы получаете хорошую десериализацию от yaml до java, но в моем случае мне нужно иметь возможность получить значение свойства во время выполнения. Есть ли способ сделать это, как если бы вы использовали файл .properties, например, просто имея значение ключа свойства?Возможно ли получить свойство yaml во время выполнения?

appName: myAppName 

Здесь я хочу получить значение myAppName во время выполнения, используя библиотеку snakeyaml.

+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")); 
Смежные вопросы