首页 > 解决方案 > 为什么 ---(3 个破折号/连字符)在 yaml 文件中?

问题描述

所以我刚开始使用YAML文件而不是application.properties因为它更具可读性。我在YAML文件中看到它们以---. 我用谷歌搜索并找到了以下解释。

YAML 使用三个破折号(“---”)将指令与文档内容分开。如果不存在指令,这也用于指示文档的开始。

此外,我尝试了一个没有样品的样品,---并理解它不是强制性的。

directive我想我对and没有一个清晰的认识document。谁能用一个简单的例子解释一下?

标签: yaml

解决方案


正如您已经发现的那样,三个破折号---用于表示文档的开始,即:

  1. 根据当前规范,在指令之后发出文档开始的信号,即%YAML或行。%TAG例如:

    %YAML 1.2
    %TAG !foo! !foo-types/
    ---
    myKey: myValue
    
  2. 当您在同一个流中有多个 yaml 文档(例如,一个 yaml 文件)时,要发出文档开始的信号:

    doc 1
    ---
    doc 2
    

    如果 doc 2 有一些前面的指令,那么我们必须使用三个点...来向解析器指示 doc 1 的结尾(以及 doc 2 之前的潜在指令的开始)。例如:

    doc 1
    ...
    %TAG !bar! !bar-types/
    ---
    doc 2
    

该规范适用于 yaml 解析器实现者。但是,我发现从用户的角度来看这篇文章更容易阅读。


推荐阅读