gpt4 book ai didi

json - 如何在 JSON Schema (Ruby) 中生成所需的 "patternProperty"

转载 作者:数据小太阳 更新时间:2023-10-29 07:40:32 24 4
gpt4 key购买 nike

考虑以下 JSON:

 {
"1234abcd" : {
"model" : "civic"
"made" : "toyota"
"year" : "2014"
}

}

考虑另一个 JSON:

 {
"efgh56789" : {
"model" : "civic"
"made" : "toyota"
"year" : "2014"
}

}

如果 key 是固定的,则最外面的字母数字 key 将有所不同并且是必需的;让我们说“标识符”,那么模式很简单,但是由于键名是可变的,我们必须使用 patternProperties,我怎样才能想出一个模式来捕获最外层键的这些要求:

  1. 属性名(key)是可变的
  2. 需要
  3. 小写字母数字

使用 json 模式:https://github.com/ruby-json-schema/json-schema在 ruby 中。

最佳答案

当这些属性可变时,您可以做的最好的事情是使用 minPropertiesmaxProperties。如果你想说你的对象中必须有一个并且只有一个这些字母数字键,你可以使用以下模式。如果你想说必须至少有一个,你可以省略 maxProperties

{
"type": "object",
"patternProperties": {
"^[a-z0-9]+$": {
"type": "object",
"properties": {
"model": { "type": "string" },
"make": { "type": "string" },
"year": { "type": "string" }
},
"required": ["model", "make", "year"]
}
},
"additionalProperties": false,
"maxProperties": 1,
"minProperties": 1
}

关于json - 如何在 JSON Schema (Ruby) 中生成所需的 "patternProperty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com