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]}]

То, что я хотел бы сделать, это больше на таком уровне, где я могу сохранить его в HashMap и фактически использовать особенности карты примерно так:

      HashMap<String, ArrayList<Strings>> Policies = (HashMap)(map.get("rules"));

Но когда я это делаю, у меня либо генерируется исключение, либо он просто возвращает null, есть ли решение для этого, если я не использую HashMaps ... или я могу просто не переводить объекты таким образом? Я планирую заменить String другим типом из другой библиотеки, которая использует Strings, но хотела бы начать снизу, а затем подняться оттуда.

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, вам необходимо преобразовать данные после его загрузки.

Другие вопросы по тегам