这是非常具体但让我难过。我们在解析时对待嵌套键+常规数组几乎相同 - 有时在需要时添加额外信息,如下所示:
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
questionField.resignFirstResponder();
// Additional code here
return false
}
...这给了我这个JSON:
---
Entry 1:
- lorem:
true
- ipsum
- dolor
Entry 2:
- lorem
- ipsum:
true
- dolor
...
一切都很酷。为内容输入多行字符串会变得更加混乱,但仍然可以正常工作(继续将它们粘贴到Online YAML Parser或其他编译器以供参考):
{
"Entry 2": [
"lorem",
{
"ipsum": true
},
"dolor"
],
"Entry 1": [
{
"lorem": true
},
"ipsum",
"dolor"
]
}
更深入,我的第二级数组中的多行字符串也正常工作,正如规范所预期的那样:
---
#works:
Test:
- lorem
- ipsum
- dolor
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
Wohoo!但是只要我在同一级别上混合多行键和多行数组字符串,我的设置就会中断:
---
#works:
Test:
- |-
multiline
lorem
- ipsum
- dolor
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...
如何解决这个问题?
答案 0 :(得分:10)
如果在同一级别混合键和数组项,则YAML会中断。您不需要多行字符串:
- 1
? 2
: 3
这应解析什么?数组?映射?然而,这有效:
- 1
- ? 2
: 3
所以你可以这样修理你的YAML:
---
Test:
- |-
multiline
lorem
- ? |-
multiline
ipsum
:
true
? |-
multiline
Test
:
- lorem
- ipsum:
true
- dolor
...