我目前有一个yaml文件,看起来像这样:
description: this-apps-config
options:
- customer: joe
id: 1
date: 2022-01-01
print: False
- customer: jane
id: 2
date: 2022-01-02
print: True
我能够在使用snakeyaml中成功地读取此内容:
Yaml yaml = new Yaml();
InputStream inputStream = new FileInputStream(new File("file.yml"));
Map<String, Object> data = yaml.load(inputStream);
System.out.println(data);
上面的代码以LinkedHashMap的形式检索所有内容,其中options
是另一个HashMap的ArrayList,如下所示:
{description=this-apps-config, options=[{customer=joe, id=1, date=2022-01-01, print=False}, {customer=jane, id=2, date=2022-01-02, print=True}]}
我的问题是,如何得到每个options
中的print
值?
ArrayList<Object> al = new ArrayList<>()
al.add(data.get("options"))
这只得到了第一个options
数组列表,不知道如何深入。
谢谢
1条答案
按热度按时间u5rb5r591#
YAML允许您将文件加载到自定义类中,并支持其他类型字段的顶级类型,包括集合。请尝试以下操作:
然后选择要加载文件的位置:
Here是一个相关的教程,可能会对您有所帮助。