JSON 模式 - 变量 contentMediaType - 使用正则表达式?

问题描述

是否可以编写一个包含 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) -- 这些属性仅用于向消费应用程序提供信息,并且永远不会评估针对此架构的数据实例将针对此关键字失败。