我想代表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更适合分层结构的序列化格式?
答案 0 :(得分:4)
name: "user1"
programming-skill:
others:
java: 2
python: 2
value: 3
cooking-skill: 4
答案 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中干净利落地做到这一点。正如安德烈建议的那样,你必须引入新的数据(其他/价值)并解决它。我仍然不确定是否有一种格式更适合这种形式的数据,或者你只需要咬紧牙关并引入额外的层次结构。