我可以在Python中验证JSON模式中字符串的内容吗?

时间:2016-02-10 23:22:14

标签: python json

我想指定一个字符串只能是四个值中的一个。我怎样才能使用jsonschema库?

示例代码:

"value_params": {
    "required": ["positions", "userId"],
    "properties": {
        "userId": {"type": "integer"},
        "positions": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "required": ["partnerUserId", "userType"],
                "properties": {
                    "partnerUserId": {"type": "integer"},
                    "userType": {"type": "string"}
                },
                "additionalProperties": False
            }
        }
    },
    "additionalProperties": False
},

以上工作正常。我需要添加什么才能使userType成为仅有4个值之一?

1 个答案:

答案 0 :(得分:1)

看看这个example schema

使用enum将值限制为一组固定的值:

"label": {
    "type": "string",
    "enum": ["value1", "value2", "value3", "value4"]
}

也可以定义正则表达式模式:

"label": {
    "type": "string",
    "pattern": "^value1|value2|value3|value4$"
}