【发布时间】:2014-12-08 12:27:35
【问题描述】:
我希望编写一个 json 模式来涵盖这个(简化的)示例
{
"errorMessage": "",
"nbRunningQueries": 0,
"isError": False,
"result": {
"foo": {"price":10.0, "country":"UK"},
"bar": {"price":100.2, "country":"UK"}
}
}
可以有这个非常简单的根架构
schema = {
"type":"object",
"required":True,
"properties":{
"errorMessage": {"type":"string", "required":True},
"isError": {"type":"boolean", "required":True},
"nbRunningQueries": {"type":"number", "required":True},
"result": {"type":"object","required":True}
}
}
复杂的是结果 {} 元素。与标准模式不同,标准模式的结果是相同对象的数组——每个对象都有一个 id 字段或类似的字段,此响应模拟一个 Python 字典,如下所示:
{
"foo": {},
"bar": {},
...
}
既然 a 将获得一个大小灵活且没有设置键的结果对象,我该如何为此编写 json 架构?
遗憾的是,我无法控制输入,否则我会将其重写为类似
{
"errorMessage": "",
"nbRunningQueries": 0,
"isError": False,
"result": [
{"id": "foo", "price":10.0, "country": "UK"},
{"id": "bar", "price":100.2, "country":"UK"}
]
}
任何帮助或相关示例的链接都会很棒。谢谢。
【问题讨论】:
-
结果 {} 对象的键将始终是仅包含数字的字符串......如果有帮助的话。
标签: json jsonschema