#java #yaml #yamlbeans
#Ява #ямл #ямлбейны
Вопрос:
У меня есть файл Yaml, который выглядит примерно так, как показано ниже:
rules: - p_table: ["p_event/Name", "p_fault/Name"] - s_table: ["s_event/Name", "s_fault/Name"] - r_table: ["r_event/Name", "r_fault/Name"]
Итак, я уже могу взять .файл yml выше и проанализируйте его с помощью YamlBeans и распечатайте его с кодом, как показано ниже:
System.out.println(map.get("rules"));
Это дает такой результат:
[{p_table=[p_event/Name, p_fault/Name]}, {s_table=[s_event/Name, s_fault/Name]}, {r_table=[r_event/Name, r_fault/Name]}]
То, что я хотел бы сделать, — это больше на таком уровне, где я могу хранить его в хэш-карте и фактически использовать особенности карты, примерно так:
HashMaplt;String, ArrayListlt;Stringsgt;gt; Policies = (HashMap)(map.get("rules"));
Но когда я это делаю, у меня либо возникает исключение, либо оно просто возвращает значение null, есть ли решение для этого, если я не должен использовать хэш-карты… или я могу просто не переводить объекты таким образом? Я планирую заменить строку другим типом из другой библиотеки, которая использует строки, но хотела начать снизу, а затем подняться оттуда.
Ответ №1:
Очевидным решением было бы удалить последовательность из файла YAML:
rules: p_table: ["p_event/Name", "p_fault/Name"] s_table: ["s_event/Name", "s_fault/Name"] r_table: ["r_event/Name", "r_fault/Name"]
Если вы не можете изменить файл YAML, вам необходимо преобразовать данные после его загрузки.