如何验证 python 中的字典列表模式?

How to validate schema of list of dicts in python?

我有一本包含配置信息的字典:

“request”:
    {
        “request_id”: uuid,
        "points": {
            "<point_id>": {"weight": float},
        }
    }

例如

"request":{
     "request_id": "553380e1-fa37-4666-886e-7f56c0540ed8",
     "points": {
          "0": {
             "weight": 5
          },
          "1": {
             "weight":10
          }
     }
}

应该是这样的吧?

"request": {
    "type": "object",
    "properties": {
        "request_id": {
            "type": "string",
        },
        "points":{
             "type": "array",
             "items": {
                ????
             }
        }
    }

我无法在我的 Flask 项目中找到验证模式。有解决办法吗?

points 是一个对象,不是整数。您可以在 patternProperties 中使用正则表达式指定变量 属性 名称,或者如果 属性 名称可以是任何名称,请使用 additionalProperties 来限制值。

...
"points": {
  "patternProperties": {
    "^[0-9]+$": {
      "type": "object",
      "properties": {
        "weight": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}