如何在YAML中转义指示字符(即:或 – )

在一个configuration文件中,我有一个键,我希望分配一个URL。 问题在于YAML将:和 – 字符解释为创build映射或列表,所以它在行中有问题

url: http://www.example-site.com/ 

(都是因为http后面的冒号和中间的连字符)

有没有明确的方法来逃避“:”和“ – ”? 或者只是把整个事情放在单引号中,并称之为一天呢?

行情:

 "url: http://www.example-site.com/" 

为了澄清,我的意思是“引用价值”,原本以为整个事情就是价值。 如果http://www.example-site.com/是值,就像这样引用:

 url: "http://www.example-site.com/" 

什么也适用,甚至更好的长,多行文本,是把你的文字缩进下一行,pipe道或大于号的后面:

 text: > Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische Radio Omroep 

一个pipe道保留换行符,gt-sign将所有后面的行变成一个长string。

行情,但我更喜欢他们的价值:

 url: "http://www.example.com/" 

把他们整个行看起来可能会导致问题。

另一种适用于Jekyll中使用的YAMLparsing器的方法:

 title: My Life: A Memoir 

另一方面,没有跟着空格的冒号似乎并不会影响到Jekyll的YAMLparsing器。 也没有破折号。

根据YAML规范,这个:也不应该是一个问题。 :只是一个空格之后的关键分隔符,而-仅仅是一行之后的一个空格的数组指示符。

但是如果你的YAML实现有问题,你可能有很多select:

 - url: 'http://www.example-site.com/' - url: "http://www.example-site.com/" - url: http://www.example-site.com/ - url: >- http://www.example-site.com/ 

然而,“ 平原式 ”却没有明确的逃避forms。