gpt4 book ai didi

Json 模式仅验证数组中的第一个元素

转载 作者:行者123 更新时间:2023-12-04 02:49:01 26 4
gpt4 key购买 nike

我有一个 json 架构,它有一个数组,我想验证数组中的所有项目,但架构只验证第一个元素,为什么架构不验证其余元素?

架构:

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"codigoEmpresa": {
"type": "string"
},
"nombreEmpresa": {
"type": "string"
},
"planes": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"codigoPlan": {
"type": "string"
},
"nombrePlan": {
"type": "string"
},
"tipoProducto": {
"type": "integer"
}
},
"required": [
"codigoPlan",
"nombrePlan",
"tipoProducto"
]
}
]
}
},
"required": [
"codigoEmpresa",
"nombreEmpresa",
"planes"
]
}

无效的 json:
{
"codigoEmpresa":"204",
"nombreEmpresa":"Claro",
"planes":[
{
"codigoPlan":"M-PP-Premium-30.03",
"nombrePlan":"Plan Max Premium Libre",
"tipoProducto":1
},
{
"tipoProducto":3
}
]
}

架构验证器:

https://json-schema-validator.herokuapp.com/

json 需要数组中第二个元素中的属性 nombrePlan 和 tipoProducto,但架构验证器不会验证它。

最佳答案

"items": [ { ... } ]

在你的架构中应该是
"items": { ... }
items这种形式的关键字将对数组中找到的所有元素应用单个子模式。

关于Json 模式仅验证数组中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55833813/

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