访问同一Yaml文件中的Yaml映射中的项目

时间:2019-09-05 09:01:06

标签: yaml

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

注意:我们的yaml有一个预处理步骤,实际上使我们可以插入可替换的令牌。我想将替换为令牌的值用作我的密钥...这就是为什么我在编写yaml时不知道想要什么值,仅供参考

简而言之,我想做的就是这样

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 个答案:

答案 0 :(得分:1)

您不能使用别名(*)来访问锚定(&)映射的value对中的key-value

但是您可以按照以下方式进行操作:

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

myvalue : *flag

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

keymap:
  key1: &flag value1
  key2: value2

myvalue : *flag

有关更多示例和详细说明,请访问 YAML - Anchors, References, Extend