我想知道是否可以将YAML密钥折叠成单行。
喜欢转化:
lvl1:
lvl2:
lvl3:
lvl4:
key1: val1
key2: val2
变成这样:
lvl1.lvl2.lvl3.lvl4:
key1: val1
key2: val2
我在Java Spring Framework配置文件中看到了这种语法。
答案 0 :(得分:1)
您可以将其写为有效的YAML。但是,它将使lvl1.lvl2.lvl3.lvl4
成为单个键。如果要这样编写YAML,则需要实现后加载逻辑以将其转换为原始结构。
在春季,将各个级别同时进行because
YamlPropertiesFactoryBean将YAML作为属性加载
Java中的属性是键值对的列表,因此嵌套映射被转换为键列表,其中每个键都包含其从文档根目录开始的路径。您转换后的YAML如下所示:
lvl1.lvl2.lvl3.lvl4.key1=val1
lvl1.lvl2.lvl3.lvl4.key2=val2
原始和压缩的YAML文件的结果都是相同的,这就是为什么您可以在Spring配置文件中执行此操作的原因。但是,它不是YAML本身的功能。
使用压缩的点分符号的格式为TOML:
[lvl1.lvl2.lvl3.lvl4]
key1 = "val1"
key2 = "val2"
以上文档产生的结构与原始YAML文件相同。