问题描述
是否可以编写一个包含 base64 编码内容的 JSON 模式,其中媒体类型可以是任何内容?我目前有以下几点:
contentMediaType
这是有效的。可以对 "media" : {
"type": "object","properties": {
"content" : {
"type": "string","contentEncoding": "base64",},"contentMediaType": {
"type": "string","pattern": "[a-z]\/[a-z]"
}
}
},
属性使用正则表达式吗?
如果不是,以下是否有效?
{{1}}
实现这一目标最清晰的方法是什么?
解决方法
规范是这样说的:https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.8.4
contentMediaType
是一个字符串。您的正则表达式是一个字符串,因此按字面解释。 RFC 2046 中没有匹配的媒体类型,所以我不希望事情进展顺利。但是你的正则表达式太松散了,为什么还要包含它呢?
还请记住,JSON Schema 仅将此关键字解释为注释 (https://json-schema.org/draft/2020-12/json-schema-validation.html#content) -- 这些属性仅用于向消费应用程序提供信息,并且永远不会评估针对此架构的数据实例将针对此关键字失败。