在 YAML 中构建字典项数组?
Building an array of dictionary items in YAML?
基本上尝试在 yaml 中使用这个 json:
{
models:
[
{
model: "a"
type: "x"
#bunch of properties...
},
{
model: "b"
type: "y"
#bunch of properties...
}
]
}
到目前为止,这就是我所拥有的,它不起作用,因为我正在重复我的 model
键,但是通过保留 model
关键字来做到这一点的正确方法是什么?
models:
model:
type: "x"
#bunch of properties...
model:
type: "y"
#bunch of properties...
使用破折号开始一个新的列表元素:
models:
- model: "a"
type: "x"
#bunch of properties...
- model: "b"
type: "y"
#bunch of properties...
您可能已经查看 YAML 太久了,因为您在 post 中所谓的 JSON 不是,它更像是 YAML 的一半和一半 JSON。让我们跳过 JSON 不允许以 #
开头的注释这一事实,您应该引用作为键的字符串,并且应该在映射中的元素之间放置 ,
:
{
"models":
[
{
"model": "a",
"type": "x"
},
{
"model": "b",
"type": "y"
}
]
}
是正确的 JSON 也是 YAML,因为 YAML 是 JSON 的超集。
你可以例如在此 YAML parser.
在线查看
您可以使用 ruamel.yaml.cmd(基于我的增强版 PyYAML:pip install ruamel.yaml.cmd
)将其转换为您似乎更喜欢的 YAML 块样式。您可以使用其命令行实用程序将 JSON 转换为阻止 YAML(在版本 0.9.1 中您还可以强制流式):
yaml json in.json
这让你:
models:
- model: a
type: x
- model: b
type: y
有一些在线资源可让您执行上述操作,但与任何此类服务一样,请勿将它们用于任何重要的事情(例如信用卡号码和密码列表)。
基本上尝试在 yaml 中使用这个 json:
{
models:
[
{
model: "a"
type: "x"
#bunch of properties...
},
{
model: "b"
type: "y"
#bunch of properties...
}
]
}
到目前为止,这就是我所拥有的,它不起作用,因为我正在重复我的 model
键,但是通过保留 model
关键字来做到这一点的正确方法是什么?
models:
model:
type: "x"
#bunch of properties...
model:
type: "y"
#bunch of properties...
使用破折号开始一个新的列表元素:
models:
- model: "a"
type: "x"
#bunch of properties...
- model: "b"
type: "y"
#bunch of properties...
您可能已经查看 YAML 太久了,因为您在 post 中所谓的 JSON 不是,它更像是 YAML 的一半和一半 JSON。让我们跳过 JSON 不允许以 #
开头的注释这一事实,您应该引用作为键的字符串,并且应该在映射中的元素之间放置 ,
:
{
"models":
[
{
"model": "a",
"type": "x"
},
{
"model": "b",
"type": "y"
}
]
}
是正确的 JSON 也是 YAML,因为 YAML 是 JSON 的超集。 你可以例如在此 YAML parser.
在线查看您可以使用 ruamel.yaml.cmd(基于我的增强版 PyYAML:pip install ruamel.yaml.cmd
)将其转换为您似乎更喜欢的 YAML 块样式。您可以使用其命令行实用程序将 JSON 转换为阻止 YAML(在版本 0.9.1 中您还可以强制流式):
yaml json in.json
这让你:
models:
- model: a
type: x
- model: b
type: y
有一些在线资源可让您执行上述操作,但与任何此类服务一样,请勿将它们用于任何重要的事情(例如信用卡号码和密码列表)。