Java 读取嵌套对象的YAML bean
我有一个YAML文件,格式如下:Java 读取嵌套对象的YAML bean,java,mongodb,yaml,Java,Mongodb,Yaml,我有一个YAML文件,格式如下: MongoDB: - server: - host: localhost:27017 - minOplogHours: 100 - maxSecondaryDelay: 120 - server: - host: localhost:27018 - minOplogHours: 100 - maxSecondaryD
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
我需要能够访问每个服务器的主机:
字段中的数据:
如何实现这一点
到目前为止,我有:
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}]}]
如何从该字符串中提取服务器详细信息?更具体地说,我如何才能获得
主机:
值。我知道这是一篇老文章,但我没有看到任何回应。这是我认为对你有用的东西
替换
Map resultMap = (Map) object;
与
Map resultMap=(Map)对象;
我曾经有过这样的经历,并且成功了。
我希望这可能会对某人有所帮助。您有什么解决方案吗?
Map<String, Map<String, Map<String, String>>> resultMap = (Map<String, Map<String, Map<String, String>>>) object;