gpt4 book ai didi

javascript - JSONSchema 和验证子对象属性

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

给定这个 JSON 对象:

{
"objects": {
"foo": {
"id": 1,
"name": "Foo"
},
"bar": {
"id": 2,
"name": "Bar"
}
}
}

这是一个包含子对象的对象,其中每个子对象都具有相同的结构——它们都是相同的类型。每个子对象都是唯一键控的,因此它就像一个命名数组。

我想验证 objects 属性中的每个对象是否根据 JSON 模式引用进行验证。

如果 objects 属性是一个数组,例如:

{
"objects": [
{
"id": 1,
"name": "Foo"
},
{
"id": 2,
"name": "Bar"
}
]
}

我可以使用模式定义来验证这一点,例如:

{
"id": "my-schema",
"required": [
"objects"
],
"properties": {
"objects": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
}
}
}
}

这是因为 typearray,这允许验证 items

是否可以使用嵌套对象做类似的事情?

谢谢!

最佳答案

你可以尝试这样的事情:

{
"id": "my-schema",
"type": "object",
"properties": {
"objects": {
"type": "object",
"patternProperties": {
"[a-z]+": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"id",
"name"
]
}
}
}
}
}

关于javascript - JSONSchema 和验证子对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46975963/

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