Par*_*eog 2 python django validation json
我使用 Python3.5 和 Django 作为 web api。当我提到输入时,我指的是一个 HTTP 请求参数。我有一个参数,我需要一个 JSON 数据,我需要在进一步处理之前对其进行验证。
我有一个基本的 json 结构,输入必须在其中。例如,
{
"error": "bool",
"data": [
{
"name": "string",
"age": "number"
},
{
"name": "string",
"age": "number"
},
...
]
}
Run Code Online (Sandbox Code Playgroud)
以上JSON表示我希望输入的结构。键是预定义的,值表示我期望的键的数据类型。我遇到了一个执行此验证的 Python 库(jsonschema),但我找不到任何可以处理动态数据的文档。即 JSON 数组 'data' 中的对象可以是任意数量,当然这是我想出的最简单的场景来解释基本要求。在这种情况下,我如何验证我的json?
这里的解决方案没有帮助,因为它只是根据 Django 模型检查 json 是否正确。我的 json 与 Django 模型没有关系。它是一个简单的json结构。它仍然没有告诉我如何验证动态对象
JSON Schema 是用于验证 JSON 的规范;jsonschema 只是一个实现它的 Python 库。它当然允许您指定一个键可以包含任意数量的元素。
验证您的代码的 JSON 架构示例可能是:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"required": [
"error",
"data"
],
"properties": {
"error": {
"type": "boolean"
},
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅https://spacetelescope.github.io/understanding-json-schema/以获得一个很好的概述
| 归档时间: |
|
| 查看次数: |
7097 次 |
| 最近记录: |