在 yml 的键名中使用时的 $ 消失了

The $ when used in a key name in yml disappears

我正在 springboot 应用程序中使用 application.yml 并加载地图。不幸的是,每当我在键中有一个 $ 字符时,它就会消失。 key/value 对在那里,只是没有任何 $ 符号。我试过各种方法试图逃脱这个角色,但似乎没有任何效果。我看不到任何说明 $ 是特殊字符的文档 - 除了类路径符号之外?这是这里发生的事情吗?如果是,我该如何逃避它?

first:
  second:
    third:
      'aaa': "aaa"
      '$bbb': "bbb"
      '$ccc': "ccc"
      $$yy$y: "yyyy"

在本例中,地图定义为

private Map<String, String> third;

这个有效:

first:
  second:
    third:
      "[aaa]": "aaa"
      "[$bbb]": "bbb"
      "[$ccc]": "ccc"
      "[$$yy$y]": "yyyy"
{aaa=aaa, $bbb=bbb, $ccc=ccc, $$yy$y=yyyy}
@SpringBootApplication
@EnableConfigurationProperties
public class So71584675Application {

    public static void main(String[] args) {
        SpringApplication.run(So71584675Application.class, args);
    }

    @Bean
    ApplicationRunner runner(Props props) {
        return args -> {
            System.out.println(props.third);
        };
    }

}

@Component
@ConfigurationProperties(prefix = "first.second")
class Props {

    Map<String, String> third;

    Props(Map<String, String> third) {
        this.third = third;
    }

    Map<String, String> getThird() {
        return this.third;
    }

    void setThird(Map<String, String> third) {
        this.third = third;
    }

}