JSON Schema校验required字段报错:期望对象却得到数组原因查询
报错原因
required关键字的嵌套位置不符合JSON Schema Draft 04的规范要求。你把required数组写在了kogelafsluiter对象的properties字段内部,而按照规范,required是对象级别的校验字段,需要和同级的type、properties字段平级放置,不能被包含在properties内部。- 当
required被放在properties字段里时,校验器会将其识别为你要定义一个名为required的属性,属性的配置要求是标准的Schema对象结构,你传入的是数组,就会触发「读取required的值时遇到意外令牌,预期是对象开头,实际得到数组开头」的报错。
修正后的JSON Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "rioolwaterzuivering": { "type": "object", "properties": { "zandvanger": { "type": "object", "properties": { "kogelafsluiter": { "type": "object", "properties": { "tagcode": { "type": "string" }, "materiaal": { "type": "string" }, "diameter": { "type": "number" } }, "required": [ "tagcode", "materiaal", "diameter" ] } } } } } } }
内容的提问来源于stack exchange,提问作者Sef
相关产品推荐
相关产品推荐

