jsonschema – XML Schema xs:JSON Schema中可用的替代等价物吗
发布时间:2020-12-16 22:52:44 所属栏目:百科 来源:网络整理
导读:是否可以在 JSON Schema中使用替代方案?在XSD中,使用xs:alternative元素是可行的. 例如,请参阅:How to use alternatives in XML Schema 1.1 更新1: 这是我想用JSON模式描述的示例JSON: { "actions": [ { "type": "basic","param1": "value" },{ "type":
是否可以在
JSON Schema中使用替代方案?在XSD中,使用xs:alternative元素是可行的.
例如,请参阅:How to use alternatives in XML Schema 1.1 更新1: 这是我想用JSON模式描述的示例JSON: { "actions": [ { "type": "basic","param1": "value" },{ "type": "extended","param1": "value","param2": "blah" } ] } 要求: >动作可以包含任意数量的项目 解决方法
自Draft04以来,有一种类似的机制,具有更好的语义:oneOf,anyOf,allOf和not,关键字.
> oneOf:强制执行给定元素以仅满足模式列表中的一个. 假设您正在寻找一个独有的“替代”,这将是使用oneOf的json-schema的示例: { "actions" : { "type" : "array","items" : { "oneOf" : [{ " $ref " : "#/definitions/type1 " },{ " $ref " : "#/definitions/type2 " } ] } }," definitions " : { " type1 " : { " type " : " object ","properties": { "param1":{"type":"string"} },"required":["param1"] }," type2 " : { " type " : " object ","properties": { "param2":{"type":"string"},"param3":{"type":"string"} },"required":["param2","param3"] } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |