[英]YAML multi-line strings: keys vs array values
这是非常具体但让我难过。 我们在解析时对待嵌套键+常规数组几乎相同 - 有时在需要时添加额外信息,如下所示:
---
Entry 1:
- lorem:
true
- ipsum
- dolor
Entry 2:
- lorem
- ipsum:
true
- dolor
...
...这给了我这个JSON:
{
"Entry 2": [
"lorem",
{
"ipsum": true
},
"dolor"
],
"Entry 1": [
{
"lorem": true
},
"ipsum",
"dolor"
]
}
一切都很酷很好。 为内容输入多行字符串会变得更加混乱,但仍然可以正常工作(继续粘贴到在线YAML Parser或其他编译器以供参考):
---
#works:
Test:
- lorem
- ipsum
- dolor
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
更深入,我的第二级数组中的多行字符串也可以正常工作,正如规范所期望的那样:
---
#works:
Test:
- |-
multiline
lorem
- ipsum
- dolor
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
Wohoo! 但是只要我在同一级别混合多行键和多行数组字符串,我的设置就会中断:
---
#breaks:
Test:
- |-
multiline
lorem
? |-
multiline
ipsum
:
true
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
如何解决?
如果在同一级别混合键和数组项,则YAML会中断。 您不需要多行字符串:
- 1
? 2
: 3
这应该解析什么? 数组? 映射? 但是,这有效:
- 1
- ? 2
: 3
所以你可以像这样修复你的YAML:
---
Test:
- |-
multiline
lorem
- ? |-
multiline
ipsum
:
true
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.