如何将 YAML 锚点合并为列表项并覆盖值

Bre*_*ren 5 yaml

使用如下 yaml 配置,我尝试使用 default_car 作为列表中的项目之一并覆盖颜色属性。

但有一个解析错误指出:did not find expected key while parsing a block mapping

default_car: &default_car
  brand: xxx
  model: xxx
  color: red

cars_sold:
  - <<: *default_car
      color: blue

cars_available:
  - <<: *default_car
      color: yellow
Run Code Online (Sandbox Code Playgroud)

有可能实现这样的目标吗?如果我的做法是错误的,那么避免一次又一次重复默认汽车映射的最佳方法是什么?

小智 4

为了回答一个古老的、未解答的问题以帮助未来的搜索者,似乎您只需要在颜色覆盖之前删除错误的附加空格即可。

default_car: &default_car
  brand: xxx
  model: xxx
  color: red

cars_sold:
  - <<: *default_car
    color: blue

cars_available:
  - <<: *default_car
    color: yellow
Run Code Online (Sandbox Code Playgroud)

使用https://jsonformatter.org/yaml-validatorhttps://yamlchecker.com/进行测试以确认这一点。