给定这个
JSON对象:
{ "objects": { "foo": { "id": 1,"name": "Foo" },"bar": { "id": 2,"name": "Bar" } } }
这是一个包含子对象的对象,其中每个子对象具有相同的结构 – 它们都是相同的类型.每个子对象都是唯一键控的,因此它的作用类似于命名数组.
我想验证对象属性中的每个对象是否针对JSON Schema引用进行验证.
{ "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" } } } } } }
这是因为类型是数组,这允许项目的验证.
是否可以做类似的事情,但嵌套对象?
谢谢!
解决方法
你可以尝试这样的事情:
{ "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" ] } } } } }
原文地址:https://www.jb51.cc/js/156798.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。