【发布时间】:2020-12-26 17:01:33
【问题描述】:
所以我正在使用 Json Meta Schema https://json-schema.org/draft/2019-09/meta/core 使用https://github.com/java-json-tools/json-schema-validator进一步验证 JSONSchema
我有一个要求,我必须限制架构包含嵌套对象,比如下面的架构应该是无效的
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/product.schema.json",
"title": "test",
"description": "A product from Acme's catalog",
"type": "object",
"properties": {
"productId": {
"description": "Outer",
"type": "object",
"properties": {
"lineId": {
"description": "Outer",
"type": "object"
}
}
}
}
}
由于 productId 是一个对象并且它有另一个对象 lineId ,productId 只能有字符串或数字字段,但不能有一个对象,
如何扩展 MetaSchema 以强制执行此操作。
任何帮助表示赞赏
【问题讨论】:
-
您很少想要扩展元模式。您能否详细说明为什么您认为这是您想做的事情,以及您最初的目标是什么?这可能是 XY 类型的问题。
-
另外我注意到你已经链接到
draft 2019-09元模式,而你的模式定义了你正在使用draft-07。你打算用哪个? -
另外,您使用的实现仅支持draft-03 和draft-04。
标签: java json jsonschema jsonpath json-schema-validator