Python 3.x Jsonschema xxx不是object类型
我使用python和json模式作为数据验证工具,下面是我的模式: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
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)处理数据之后,现在就可以了。