18
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "my json api",
    "description": "my json api",
    "type": "object",
    "properties": {
        "my_api_response": {
           "type": "object",
            "properties": {
                "MailboxInfo": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "ADSyncLinkEnabled": {
                                "type": "any"
                            }
                        }
                    }
                }
            }
        }
    },
    "required": ["response"]
}

我正在使用 python jsonschema 2.0.0,它给了我以下错误:

{u'type': u'object', u'properties': {u'ADSyncLinkEnabled': {u'type': u'any'}}} is not valid under any of the given schemas
4

2 回答 2

39

这是因为不再是关键字any的有效值。type

如果您想要一个匹配所有内容的架构,只需使用空架构:{}

于 2013-05-30T00:37:40.513 回答
4

从 json-schema.org 文档中,我们发现有关“类型”属性的信息:

如果是数组,则必须是字符串数组,其中每个字符串是其中一种基本类型的名称,每个元素都是唯一的。在这种情况下,如果 JSON 片段与任何给定类型匹配,则它是有效的。

因此,另一种实现“任何”类型的方法,您可能包括所有 json 类型:

"type":["number","string","boolean","object","array", "null"]
于 2019-07-23T03:12:40.943 回答