python - required 和 additionalProperties 不适用于 jsonschema 模块 Python
问题描述
我有以下代码:
from jsonschema import validate
schema_data = {
"type" : "object",
"properties" : {
"price" : {"type" : "number"},
"name" : {"type" : "string"},
"additional" : {"type" : "number"},
},
"required": ["price", "name", "additional"],
"additionalProperties": False
}
json_data = {"name" : "Eggs", "price" : 34.99, "new": 90}
这应该给我一个错误,required
因为additionalProperties
既不additional
存在json_data
也不new
存在于schema_data
. 但是脚本没有给出任何错误。
我需要一些额外的安装吗?我有以下配置:
Python 2.7.12,
jsonschema==3.0.1
attrs==19.1.0
six==1.12.0
pyrsistent==0.14.11
解决方案
您需要运行以下命令以获取错误
validate(json_data, schema_data)
所以首先你会得到错误
'additional' is a required property
修复后你会得到错误
Additional properties are not allowed ('new' was unexpected)
推荐阅读
- ios - 如何从安全区域制作自定义样式 UITableViewCell 插入?
- testing - cypress 是否支持像 selenium 这样的跨浏览器测试,或者是否有任何限制
- r - 用于简单自动化问题的循环或 lapply 循环
- java - 在 REST 控制器中使用 AtomicLong
- list - SML列表分解问题
- java - 在 Java 中处理自定义文件异常
- mysql - 如何将mysql中的属性设置为二进制?
- angular - 在 Angular 组件中对导入的服务方法使用 forkJoin() 时,“void”类型的参数不可分配
- sas - SAS:如何知道哪个宏称为当前宏?
- google-bigquery - 如何将 BigQuery 数据集从一个区域复制到另一个区域?