如何表示 JSON 的 JSON 架构,哪些键名在枚举值中?
How to represent JSONSchema of JSON which key names are in enum value?
我创建自己的 JSON 格式文件,如下所示:
{
"title": {
"ja": "ドラえもん",
"en": "Doraemon",
"ko": "도라에몽",
"de": #Any other languages...
}
}
我想创建此 JSON 的 JSON 架构,但我应该如何表示这种类型的 ("ja", "en", "ko", ...) 自由或枚举值 JSON 键?
你可以使用"patternProperties"指定key是2个字母,value是一个字符串,像这样:
{
"type": "object",
"properties": {
"title": {
"type": "object",
"patternProperties": {
"^[a-z]{2}$": {
"type": "string"
}
},
"additionalProperties": false
}
},
"required": [
"title"
]
}
如果您可以使用 draft-06 或更高版本,您可能想尝试 propertyNames
,它允许您为 names 而不是 [=16] 指定架构=]对象属性的值。
https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-00#section-6.5.8
我创建自己的 JSON 格式文件,如下所示:
{
"title": {
"ja": "ドラえもん",
"en": "Doraemon",
"ko": "도라에몽",
"de": #Any other languages...
}
}
我想创建此 JSON 的 JSON 架构,但我应该如何表示这种类型的 ("ja", "en", "ko", ...) 自由或枚举值 JSON 键?
你可以使用"patternProperties"指定key是2个字母,value是一个字符串,像这样:
{
"type": "object",
"properties": {
"title": {
"type": "object",
"patternProperties": {
"^[a-z]{2}$": {
"type": "string"
}
},
"additionalProperties": false
}
},
"required": [
"title"
]
}
如果您可以使用 draft-06 或更高版本,您可能想尝试 propertyNames
,它允许您为 names 而不是 [=16] 指定架构=]对象属性的值。
https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-00#section-6.5.8