YAML 解析错误 - 多维数组

8
我收到了一个异常提示,这意味着参数文件存在格式问题:
[Symfony\Component\Config\Exception\FileLoaderLoadException]                                                                                                                    
  Cannot import resource "XXX/app/config/parameters_testing.yml" from "XXX/app/config/config_dev.yml".     
(Malformed inline YAML string { id: 212, status: 3, events:[ at line 168 (near "- { id: 212, status: 3, events:["))

我正在尝试将数组嵌套到数组中,但是我找不到任何有用的资源,而且一直出现异常。

cases:
    - { id: 213, status: 1}
    - { id: 213, status: 3, events:[
          { rec: both, event: 34}
          { rec: odd, event: 1}
          { rec: even, event: 2}
          { rec: odd, event: 29}
          { rec: odd, event: 9}
          { rec: even, event: 3}
          { rec: odd, event: 27}
          { rec: even, event: 27}
        ]
      }

感谢您的建议。

2个回答

13

除了已接受的答案,更易读的方法是将其从行内取出...

cases:
    - 
        id: 213
        status: 1
    - 
        id: 213
        status: 3
        events:
            - { rec: both, event: 34} 
            - { rec: odd, event: 1 }
            - { rec: even, event: 2 }
            - { rec: odd, event: 29 }
            - { rec: odd, event: 9 }
            - { rec: even, event: 3 }
            - { rec: odd, event: 27 }
            - { rec: even, event: 27 }

那似乎是一个更清晰、正如你所说的更易读的解决方案。非常感谢,@Qoop! - thitami

3
如果您要声明内联样式,必须将其放在同一行上。
cases:
    - { id: 213, status: 1}
    - { id: 213, status: 3, events:[ { rec: both, event: 34} , { rec: odd, event: 1} , { rec: even, event: 2}, { rec: odd, event: 29} , { rec: odd, event: 9}, { rec: even, event: 3},  { rec: odd, event: 27},  { rec: even, event: 27}  ]}

太好了,这就有效果了! :) 将它们内联是答案。 - thitami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接