所以我刚开始使用YAML
文件而不是application.properties
,因为它更具可读性。我在YAML
文件中看到它们以---
开头。我用Google搜索并找到了以下解释。
YAML使用三个破折号(“---”)将指令与文档分开 内容。如果没有,这也用于发出文件的开头 指令存在。
另外,我尝试了一个没有---
的样本,并且理解它不是必须的。
我想我对directive
和document
没有清楚的认识。有人可以用一个简单的例子来解释吗?
答案 0 :(得分:22)
如果您没有使用指令开始YAML
,则不必强制使用它们。如果是这种情况,你应该使用它们。
我们来看看文档
<强> 3.2.3.4。指令
每个文档可能与一组指令相关联。指令具有名称和可选序列 参数。 指令是YAML处理器的指令,和 像所有其他演示文稿详细信息没有反映在YAML中 序列化树或表示图。这个版本的YAML 定义了两个指令,“YAML”和“TAG”。所有其他指令都是 保留给YAML的未来版本。
对于指令YAML
%YAML 1.2 # Attempt parsing
# with a warning
---
"foo"
答案 1 :(得分:12)
您已经发现,三个破折号---
用于发信号通知文档的开始,即:
要发信号通知文档,请在指令后开始,即根据当前规范的%YAML
或%TAG
行。例如:
%YAML 1.2
%TAG !foo! !foo-types/
---
myKey: myValue
要在同一流中具有多个Yaml文档(例如,一个Yaml文件)时发信号通知文档开始:
doc 1
---
doc 2
如果doc 2有一些前面的指令,那么我们必须使用三个点...
来向解析器指示doc 1的结尾(以及doc 2之前潜在指令的开始)。例如:
doc 1
...
%TAG !bar! !bar-types/
---
doc 2
该规范对yaml解析器实现者很有用。但是,从用户的角度来看,我发现this article更容易阅读。