100 yaml
我是yaml的新手,我有一个问题.管道符号(|)用于多行.yaml有下面的语法吗?
测试:| 6+
我有一个像下面两个的yaml代码,第一个是工作,第二个不是.我不知道那里发生了什么.
第一个文件
Name :
-
testing:
val1
-
second:
val2
-
third:
val3
-
then
-
final: |
a
aa
aaa
aaaa : 'test:'
Run Code Online (Sandbox Code Playgroud)
第二档
Name :
-
testing:
val1
-
second:
val2
-
third:
val3
-
then
-
final: |6+
a
aa
aaa
aaaa : 'test:'
Run Code Online (Sandbox Code Playgroud)
PS:第二个文件是客户的.我正在使用xmlbeans,我得到了"com.esotericsoftware.yamlbeans.parser.Parser $ ParserException:第17行,第12列:预期'块结束',但发现:块映射开始".
在"我正在使用"附近添加了已编辑的 xmlbeans.
Igu*_*aut 144
YAML中行末尾的管道符号表示后面的任何缩进文本都应解释为多行标量值.参见YAML规范.
具体来说,管道表明(缩进除外)标量值应按字面顺序解释,以保留换行符.相反,该>
字符表示多行"折叠"标量跟随,意味着换行符被转换为空格.例如:
>>> import yaml
>>> yaml.load("""
... |
... This is a multi-line
... literal style scalar.
... """)
'This is a multi-line\nliteral style scalar.\n'
>>> yaml.load("""
... >
... This is a multi-line
... folded scalar; new lines are folded into
... spaces.
... """)
'This is a multi-line folded scalar; new lines are folded into spaces.\n'
Run Code Online (Sandbox Code Playgroud)
该6+
部分是缩进指示符(应该使用多少缩进空间的明确规范)和"chomping indicator" +
,它控制应该如何处理标量文字末尾的额外空格.
你得到的错误是一个棘手的错误:这是因为缩进应该是相对于当前块级元素.因此,在这种情况下,它应该是4+
代替6+
,因为最后块级元素是数组项(指定-
)和文字从缩进4.有点令人惊讶的final: |
是,即使映射的值是多行的,映射也不被视为块元素.如果你想一想它就有意义了 - 它仍然只是一个"一线"的"关键:价值"映射.该值恰好是对多行标量值使用特殊语法.令人困惑,但不知怎的一致......
归档时间: |
|
查看次数: |
37074 次 |
最近记录: |