我有一個帶有兩個物體的 json 模式Foo和Bar. Foo包含欄位size并且Bar是一個陣列。我希望Bar陣列大小等于Foo.size. 有沒有辦法實作這一目標?
我的方法是使用對中size定義的參考Foo,但它是一個無效的架構,因為架構驗證器期望在“minItems”和“maxItems”之后有一個整數(我使用https://www.jsonschemavalidator.net/)。
該方法:
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"properties": {
"foo": {"$ref": "#/definitions/Foo"},
"bar": {"$ref": "#/definitions/Bar"}
},
"required": ["foo", "bar"],
"definitions": {
"Foo": {
"type": "object",
"properties": {
"size": {"type": "number"}
},
"required": ["size"]
},
"Bar": {
"type": "array",
"minItems": "#/definitions/Foo/properties/size", // invalid
"maxItems": "#/definitions/Foo/properties/size" //invalid
}
}
}
uj5u.com熱心網友回復:
JSON Schema 不支持這種方式的資料參考,但它可以擴展到這樣做。
我用JsonSchema.Net和我的data詞匯來支持這一點。
檔案可以在這里找到。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/390512.html
