我有一个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.或者我就不能用这种方式翻译对象吗?我计划用另一个使用Strings的库中的另一个类型替换字符串,但是希望从底部开始,然后从那里开始。
发布于 2021-12-06 11:40:00
显而易见的解决方案是从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文件,则需要在加载数据后转换数据。
https://stackoverflow.com/questions/70244401
复制相似问题