如何在JSON Schema中定义类似XML Schema的Key/KeyRef引用关系?
JSON Schema中实现类似XML Schema的Key/KeyRef关联验证需求
我一直在查找该问题的答案却一无所获,开始认为JSON Schema无法满足此需求。在XML Schema中,可通过key和keyref在实例文档中定义关系,但JSON Schema似乎没有等效机制。
我希望在以下JSON Schema示例中,指定things数组中每个对象的key属性为可被引用的唯一键,同时要求stuff数组中每个对象的keyRef属性必须引用things中的某个key条目,就像XML Schema用Key和KeyRef实现的效果一样:
{ "things": { "type": "array", "items": { "type": "object", "properties": { "key": {"type": "string","format": "uuid"}, "more": {} }, "additionalProperties": true } }, "stuff": { "type": "array", "items": { "type": "object", "properties": { "keyRef": {"type": "string", "format": "uuid"} }, "additionalProperties": true } } }
相关使用场景包括:
- 包含引用验证的额外JSON Schema校验
- 可识别这些引用关系的代码生成
- 可利用这些关系保证引用完整性的序列化/反序列化
内容的提问来源于stack exchange,提问作者Mark_Sagecy
相关产品推荐
相关产品推荐

