【发布时间】:2020-07-16 13:55:48
【问题描述】:
使用Everit,我正在尝试提出一个可验证的 json 架构
{
"type": "my content type",
"name": "content name"
}
我的解决方案:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "model.json",
"type": "object",
"properties": {
"type": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false,
"required": [
"type",
"name"
]
}
这会产生错误: 属性/类型:预期类型是 JsonArray 或 String 之一,找到:JsonObject
这个架构加载得很好:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "model.json",
"type": "object",
"properties": {
"some-type": { <<-- Only field name changed
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false,
"required": [
"some-type",
"name"
]
}
但“类型”字段是我不想重命名的数据库字段。 如何定义 json 架构以使用名为“type”的属性?
属性下的“类型”属性名称是否解释为保留关键字?
谢谢, 罗纳德
【问题讨论】:
-
这是验证器实现中的一个错误。我建议你向图书馆的作者提出问题。
标签: json jsonschema json-schema-validator