我正在尝试学习 json 架构,但有些东西对我不起作用。我正在尝试从http://json-schema.org/understanding-json-schema/reference/conditionals.html#id4为dependentSchemas运行示例,但它只是没有验证。
我正在使用这个架构:
check_schema = {"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": { "type": "string" },
"credit_card": { "type": "number" }
},
"required": ["name"],
"dependentSchemas": {
"credit_card": {
"properties": {
"billing_address": { "type": "string" }
},
"required": ["billing_address"]
}
}
}
而这个json,应该会引发一个错误,因为它缺少密钥billing_address
:
check_dict={
"name": "John Doe",
"credit_card": 5555555555555555
}
但是当我使用jsonschema.validate(dic_check, schema_check)
(使用 python,jsonschema 包版本 4.2.1)时,验证通过没有问题。
我在这里做错了什么?