Python 3.x Jsonschema xxx不是object类型

Python 3.x Jsonschema xxx不是object类型,python-3.x,jsonschema,Python 3.x,Jsonschema,我使用python和json模式作为数据验证工具,下面是我的模式: ValidatorSchema = { "type": "object", "required": ["data"], "properties": { "data": { "type": "object", "required": ["ac

我使用python和json模式作为数据验证工具,下面是我的模式:

    ValidatorSchema = {
        "type": "object",
        "required": ["data"],
        "properties": {
            "data":
                {
                    "type": "object",
                    "required": ["account", "password", "clientType"],
                    "properties": {
                        "account": {
                            "type": "string"
                        },
                        "password": {
                            "type": "string"
                        },
                        "clientType": {
                            "type": "integer",
                            "enum": [ClientTypeEnum.USER_EMAIL.code, ClientTypeEnum.USER_MOBILE.code,
                                     ClientTypeEnum.USER_MINA.code,
                                     ClientTypeEnum.USER_WECHAT.code]
                        }
                    }
                }
        }
    }
我的数据是:

{
    "data": {
        "account": "ccl",
        "password": "12345678",
        "level": 0,
        "client_type": 100
    }
}
但是验证器总是向我显示错误,我如何修复它:

SchemaError: b'{\n    "data": {\n        "account": "ccl",\n        "password": "12345678",\n        "level": 0,\n        "client_type": 100\n    }\n}' is not of type 'object'

您的模式表示需要以下字段:

["account", "password", "clientType"]
但是,您的json具有:

{
    "account": "ccl",
    "password": "12345678",
    "client_type": 100 
}

您能发现差异吗?

您是否试图将数据作为字符串传递到验证函数中?我们可以看到导入JSON并将其传递给函数的代码吗?在使用jsononpickle.decode(request.data)处理数据之后,现在就可以了。