在java中读取yaml文件的嵌套元素

在java中读取yaml文件的嵌套元素,java,spring-boot,yaml,snakeyaml,Java,Spring Boot,Yaml,Snakeyaml,我试图在java代码中访问yaml文件中的值。。我试图实现的是,给定某个键,我可以查找它的值。我能够正确地读取代码中的yaml文件,无论我得到的结果是linkedHashMap类型,这都会使工作变得困难。我无法使用密钥访问某个值 这是我的yaml文件 people: men: waiter: name: James age: 21 airHost: name: John age: 33 headmaster: name: Jake age:

我试图在java代码中访问yaml文件中的值。。我试图实现的是,给定某个键,我可以查找它的值。我能够正确地读取代码中的yaml文件,无论我得到的结果是linkedHashMap类型,这都会使工作变得困难。我无法使用密钥访问某个值

这是我的yaml文件

people:  
 men: 
  waiter:
   name: James
   age: 21
  airHost:
   name: John
   age: 33
 headmaster:
   name: Jake
   age: 38
women:
  waitress:
   name: Jane
   age: 21
  airHostess:
   name: Amy
   age: 33
 headmisstress:
   name: Eve
   age: 38
那么让我们假设我想读一个服务员的名字?我需要访问people>men>waterer>name的嵌套对象

下面是我的java代码,用于阅读yaml

  Yaml yaml = new Yaml();
  Reader yamlFile = new FileReader("src/main/resources/file.yml");
  Map<String , Object> yamlMaps = (Map<String, Object>) yaml.load(yamlFile);
Yaml-Yaml=新的Yaml();
Reader yamlFile=newfilereader(“src/main/resources/file.yml”);
Map yamlMaps=(Map)yaml.load(yamlFile);

您将问题标记为
jackson
,但使用SnakeYAML API。请澄清您要使用的API。此外,YAML的结构是固定的(即顶部映射是否始终包含
,而人又总是包含
男人
女人
等)还是可以包含任意结构的数据?谢谢,我已经编辑了这个问题。是的,结构是固定的。高层总是人-->男人和女人等等这能回答你的问题吗?您感兴趣搜索的所有关键点和预期结果是什么?只是名字和年龄吗?上面的链接确实有点帮助,但使用它我只能访问第二个嵌套对象,而不是更深层次的对象@dassum更正它是按姓名和年龄。因此,给定人员、姓名、watier,我应该返回年龄和姓名。您将问题标记为
jackson
,但使用SnakeYAML API。请澄清您要使用的API。此外,YAML的结构是固定的(即顶部映射是否始终包含
,而人又总是包含
男人
女人
等)还是可以包含任意结构的数据?谢谢,我已经编辑了这个问题。是的,结构是固定的。高层总是人-->男人和女人等等这能回答你的问题吗?您感兴趣搜索的所有关键点和预期结果是什么?只是名字和年龄吗?上面的链接确实有点帮助,但使用它我只能访问第二个嵌套对象,而不是更深层次的对象@dassum是正确的,它是按姓名和年龄。因此,给定人员、姓名、瓦蒂埃,我应该返回年龄和姓名