[英]JSON Schema: array where non-null elements are unique
我正在嘗試構建滿足以下條件的 JSON 模式:
N
項[J, K]
整數,或為null
null
唯一性約束(因此N
和區間大小KJ
之間沒有隱含的關系)我遇到的問題是#4 和#5。 使用此模式很容易滿足前 3 個要求,加上第 4 個要求的一部分:
{
"$schema": "http://json-schema.org/draft/2019-09/schema#",
"type": "object",
"minProperties": 1,
"additionalProperties": {
"type": "array",
"minItems": N,
"maxItems": N,
"items": {
"anyOf": [
{
"type": "integer",
"minimum": J,
"maximum": K
},
{
"type": "null"
}
]
},
"uniqueItems": true
}
}
我不確定如何(或者甚至可能)指定一個數組,該數組將uniqueItems
約束應用於僅允許項目的子集。 我嘗試將uniqueItems
移動到架構的較低級別,希望它可以在有限的范圍內運行,但這不起作用。
這可能可以使用條件,但我還沒有走那條路,因為我不確定它是否真的有效,我希望有一種我忽略的更簡單的方法。
所以,我的問題是:有沒有辦法指定一個 JSON 模式數組,該數組僅對非null
的項目有選擇地強制執行唯一性約束?
這超出了uniqueItems
的能力,而不是 JSON Schema 能夠表達的約束。 您需要在應用程序業務邏輯的其他地方檢查此要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.