当前位置: 首页 > 知识库问答 >
问题:

访问同一yaml文件中的yaml映射中的项

容飞掣
2023-03-14

我想在我的yaml文件中定义一个映射以在yaml文件中使用。

注意:我们对 yaml 有一个预处理步骤,它基本上允许我们插入可替换的令牌。我想使用替换令牌的值作为我的密钥...这就是为什么我不知道在我写yaml时我想要什么价值,只是FYI

所以简而言之,我想做的是这样的事情

keyMapping: &mapping
key1: value1
key2: value2

myValue : *mapping.key1

keyMapping: &mapping
key1: value1
key2: value2

myValue : *mapping[key1]

keyMapping: &mapping
key1: value1
key2: value2

myValue : *mapping["key1"]

我期望的结果是

keyMapping: &mapping
key1: value1
key2: value2

myValue : value1

然而使用https://yaml-online-parser.appspot.com/

我可以看到这些都是无效的。这在yaml中可能吗?

共有1个答案

袁运锋
2023-03-14

不能仅访问锚定的键值对的value(

但是你可以像下面这样做:

keymap:
  <<: &flag
    key1: value1
  key2: value2

myvalue : *flag

这会将 myvalue 设置为 key1: value1。现在,正如您希望只有值 1myvalue 的值。

keymap:
  key1: &flag value1
  key2: value2

myvalue : *flag

有关更多示例和详细信息描述,请访问 YAML - 锚点、参考、扩展

 类似资料:
  • YAML中的流映射表示键值对的无序集合。 它们也称为映射节点。 请注意,键应保持唯一。 如果流映射结构中存在重复的键,则会生成错误。 键顺序在序列化树中生成。 示例 流映射结构的示例如下所示 - JSON格式的映射序列(无序列表)的输出如下所示 - 如果如上所示观察此输出,则会发现在YAML映射结构中键名称是唯一的。

  • 我有一个配置YAML(application.yml)文件,其中包含位置数据: 我想加载它,以便它在html选择字段中可用。 我创建了以下类: 然后我通过@Autowire将CountryOptions注入Controller。但是控制器中的国家列表为空。 应用程序的配置由包含以下注释的类提供: 控制器代码 那么-有什么想法为什么国家列表不是从yaml文件创建的吗?

  • 我正在尝试在我的应用程序中注入列表。我的Spring Boot应用程序中Java对象列表的yml文件。 我已经看到了其他类似问题的一些答案,这些问题将Yaml中的列表映射到Spring Boot中的对象列表,但我有不同的输出错误。 我的YAML文件 我还创建了Bucket类 以及我的配置类,我在其中将列表注入YAML 当Spring Boot开始执行时,我出现以下错误: 我也尝试过简单的字符串列表

  • 问题内容: 我是YAML的新手,一直在寻找解析YAML文件和使用/访问已解析YAML数据的方法。 我遇到过有关如何解析YAML文件的解释,例如PyYAML教程“如何在Python中解析YAML文件”,“将Python字典转换为对象? ”,但是我没有找到一个关于如何从已解析的YAML文件访问数据的简单示例。 假设我有一个YAML文件,例如: 如何访问文本“ branch1文本”? “ YAML解析和

  • 有人能解释一下这片宅地吗。yaml文件的详细信息。没有完全理解它的内容让我很烦恼。 以下是完整的宅地yaml文件: 以下是我对其内容的理解,如果我错了,请纠正我,当然还要添加评论。 授权:~/。ssh/id\u rsa。pub 本地计算机中存储公共数据的目录。ssh文件。此文件夹可以是本地计算机中的任何文件夹,对吗? 键:-~/。ssh/id\u rsa 本地计算机中存储本地数据的目录。ssh文件