我有这种格式的YAML文件:
MongoDB:
- server:
- host: localhost:27017
- minOplogHours: 100
- maxSecondaryDelay: 120
- server:
- host: localhost:27018
- minOplogHours: 100
- maxSecondaryDelay: 120
- server:
- host: localhost:27019
- minOplogHours: 100
- maxSecondaryDelay: 120
我需要能够访问每个host:
字段中每个server:
的数据,我该如何实现?
YamlReader reader = new YamlReader(new FileReader("src/mongodb.yml"));
Object object = reader.read();
Map resultMap = (Map) object;
System.out.println(resultMap.get("MongoDB"));
打印:
[{server=[{host=localhost:27017}, {minOplogHours=100}, {maxSecondaryDelay=120}]}, {server=[{host=localhost:27018}, {minOplogHours=100}, {maxSecondaryDelay=120}]}, {server=[{host=localhost:27019}, {minOplogHours=100}, {maxSecondaryDelay=120}]}]
如何从此字符串中提取服务器详细信息?更具体地说,我如何获得host:
值。
答案 0 :(得分:1)
我知道这是一个旧帖子,但我没有看到任何回复。以下是我认为对您有用的内容。
替换
Map resultMap = (Map) object;
与
Map<String, Map<String, Map<String, String>>> resultMap = (Map<String, Map<String, Map<String, String>>>) object;
我有这样的事情并且有效。 我希望这可以帮助别人。