0

我想在我的 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中甚至可能吗?

4

1 回答 1

1

您不能使用别名 (*) 仅访问valuekey-value对锚定 (&) 映射中的一个。

但是你可以像下面这样:

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

myvalue : *flag

这将设置myvaluekey1: value1。现在你只想value1成为myvalue.

keymap:
  key1: &flag value1
  key2: value2

myvalue : *flag

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

于 2019-09-05T09:12:38.913 回答