2015-06-03 2 views
3

Я получаю это исключение, которое указывает на некорректный параметры файла:YAML ошибка разбора - многомерные массивы

[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} 
     ] 
     } 

Любые предложения будут оценены.

ответ

4

В дополнении к принятому ответу, более читаемый способ был бы вывести его из инлайн как ...

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 } 
+0

Это кажется более ясным и, как вы сказали, более читаемым решением. Спасибо большое, @Qoop! – thitami

1

Если вы объявляете инлайн, вы должны сделать это на 1 линию

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} ]} 
+0

Отлично. Это сделало трюк! :) Наличие Inline - это ответ. – thitami

Смежные вопросы