【发布时间】:2021-08-04 15:40:22
【问题描述】:
[可在 https://www.jsonschemavalidator.net 复制 - 只需复制并粘贴 JSON 对象(注意第一个是示例)]
所以,我希望有一个这样的 JSON 对象:
[
{"k": "my_date", "v": "2021-08-04"},
{"k": "item_1", "v": 1},
{"k": "item_2", "v": 2.5},
...
{"k": ".+", "v": <<type - number>>}
]
我想设计一个 JSON 模式,确保“my_date”始终为 string,但所有其他项目(无论其“k”值如何)都是数字。
我现在拥有的是
{
"$id": "#/properties/my-output",
"type": "array",
"title": "The Output Schema",
"items": {
"type": "object",
"properties": {
"k": {
"type": "string"
},
"v": {
"type": "number"
}
}
}
}
但这显然行不通,因为
[
{
"k": "my_date",
"v": "2021-08-04"
},
{
"k": "any_name",
"v": 123.2
},
{
"sdf": "sdf"
}
]
失败,因为:
-
my_date的值为string,这是架构不允许的; -
sdf根本不应该在这里,但架构接受它。
我应该如何设计架构?
附:我希望会有其他“k”值应该有strings 作为“v”值,所以我希望能够解决这些问题。
【问题讨论】:
标签: json jsonschema json-schema-validator