Yaml иерархические данные - PullRequest
5 голосов
/ 15 июня 2011

Я бы хотел представить иерархию в yaml, и я не уверен, как.Например, я хотел бы сказать что-то вроде этого:

name: "user1"
programming-skill: 3
    java: 2
    python: 2
cooking-skill: 4

Когда я выкидываю это в парсер yaml, я получаю сообщение об ошибке в строке «отображение значений, не разрешенных здесь» в строке java: 2 потому что я пытаюсь присвоить programming-skill обоим 3 и списку {java: 2, python: 2}.

Какой самый чистый способ представления этой иерархической структуры в yaml?В качестве альтернативы, существует ли формат сериализации, более подходящий, чем yaml, для иерархических структур?

Ответы [ 3 ]

4 голосов
/ 10 декабря 2011
name: "user1"
programming-skill: 
  - 3
  - java: 2
    python: 2
cooking-skill: 4

или, если вы предпочитаете:

name: "user1"
programming-skill: 
  - 3
  - 
    java: 2
    python: 2
cooking-skill: 4
4 голосов
/ 22 июня 2011
name: "user1"
programming-skill:
        others:
            java: 2
            python: 2
        value: 3
cooking-skill: 4

Проверьте это здесь

0 голосов
/ 28 октября 2011

Похоже, что это невозможно сделать чисто в yaml.Вы должны, как предложил Андрей, ввести новые данные (другие / ценность) и обойти их.Я все еще не уверен, есть ли формат, который лучше подходит для этой формы данных, или вам просто нужно прикусить пулю и ввести дополнительный уровень иерархии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...