Yaml分层数据

时间:2011-06-15 05:53:16

标签: yaml

我想代表yaml的层次结构,我不确定如何。例如,我想说这样的话:

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

当我在yaml解析器中抛出此内容时,我在行java: 2上的“映射值不允许此处”出现错误,因为我正在尝试将programming-skill分配给3 {1}}和列表{java: 2, python: 2}

在yaml中表示这种层次结构的最简洁方法是什么?或者,是否存在比yaml更适合分层结构的序列化格式?

3 个答案:

答案 0 :(得分:4)

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

Test it here

答案 1 :(得分:4)

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

或者如果您愿意:

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

答案 2 :(得分:0)

看起来不可能在yaml中干净利落地做到这一点。正如安德烈建议的那样,你必须引入新的数据(其他/价值)并解决它。我仍然不确定是否有一种格式更适合这种形式的数据,或者你只需​​要咬紧牙关并引入额外的层次结构。