Symfony YAML 组件中的嵌套序列何时编号
When are nested sequences numbered in the Symfony YAML Component
我正在使用 Symfony YAML 组件来解析 Flexget 配置文件。然而,有时它将电视节目的序列转换为编号列表,而实际上它应该是一个带有破折号的列表 -
.
错误的例子:
templates:
tv:
private_torrents: no
regexp:
accept:
12: 'Absolute Duo'
13: 'Yuri Kuma Arashi'
14: 'Miritari!'
...
正确示例:
templates:
tv:
private_torrents: no
regexp:
accept:
- 'Absolute Duo'
- 'Yuri Kuma Arashi'
- 'Miritari!'
...
如何防止这种情况发生?
这是我将 YAML 转储到文件的方式:
$config = Yaml::dump($this->config, 99, 2);
我使用 99
因为我从不需要内联配置。
我正在转储的配置:
array (size=2)
'templates' =>
array (size=1)
'tv' =>
array (size=4)
'private_torrents' => string 'no' (length=2)
'regexp' =>
array (size=1)
'accept' =>
array (size=9)
0 => string 'Shingeki no Bahamut' (length=19)
1 => string 'Sora no Method' (length=14)
2 => string 'Gugure! Kokkuri-san' (length=19)
3 => string 'Majin Bone' (length=10)
4 => string 'Grisaia no Kajitsu' (length=18)
5 => string 'Queen's Blade Rurou no Senshi' (length=29)
6 => string 'Daitoshokan no Hitsujikai' (length=25)
7 => string 'Trinity Seven' (length=13)
8 => string 'Akame ga Kill!' (length=14)
你会发布你正在转储的配置输入吗?
另外,我猜这个问题可能的唯一原因是你的输入被认为是一个散列,查看这一行表明如果你的数组不包含从 0 到 count-1 的键,你的输入将被视为哈希:
https://github.com/symfony/Yaml/blob/master/Dumper.php#L57
并且如果认为是hash,不是输出"-"
,而是输出"key: value"
yaml
我正在使用 Symfony YAML 组件来解析 Flexget 配置文件。然而,有时它将电视节目的序列转换为编号列表,而实际上它应该是一个带有破折号的列表 -
.
错误的例子:
templates:
tv:
private_torrents: no
regexp:
accept:
12: 'Absolute Duo'
13: 'Yuri Kuma Arashi'
14: 'Miritari!'
...
正确示例:
templates:
tv:
private_torrents: no
regexp:
accept:
- 'Absolute Duo'
- 'Yuri Kuma Arashi'
- 'Miritari!'
...
如何防止这种情况发生?
这是我将 YAML 转储到文件的方式:
$config = Yaml::dump($this->config, 99, 2);
我使用 99
因为我从不需要内联配置。
我正在转储的配置:
array (size=2)
'templates' =>
array (size=1)
'tv' =>
array (size=4)
'private_torrents' => string 'no' (length=2)
'regexp' =>
array (size=1)
'accept' =>
array (size=9)
0 => string 'Shingeki no Bahamut' (length=19)
1 => string 'Sora no Method' (length=14)
2 => string 'Gugure! Kokkuri-san' (length=19)
3 => string 'Majin Bone' (length=10)
4 => string 'Grisaia no Kajitsu' (length=18)
5 => string 'Queen's Blade Rurou no Senshi' (length=29)
6 => string 'Daitoshokan no Hitsujikai' (length=25)
7 => string 'Trinity Seven' (length=13)
8 => string 'Akame ga Kill!' (length=14)
你会发布你正在转储的配置输入吗?
另外,我猜这个问题可能的唯一原因是你的输入被认为是一个散列,查看这一行表明如果你的数组不包含从 0 到 count-1 的键,你的输入将被视为哈希:
https://github.com/symfony/Yaml/blob/master/Dumper.php#L57
并且如果认为是hash,不是输出"-"
,而是输出"key: value"
yaml