【发布时间】:2018-09-06 18:46:26
【问题描述】:
我正在使用jsonschema 来验证我的python 字典。我正在尝试验证 datetime 值,但我不知道该怎么做。
这是我目前所拥有的,这会导致错误,因为 jsonschema 没有 datetime 类型:
order = {
"name": "shirt",
"order_datetime": datetime.datetime(2018, 1, 18)
}
schema = {
"title": "Order",
"type": "object",
"required": ["name", "order_datetime"],
"properties": {
"name": {
"type": "string"
},
"order_datetime": {
"type": "datetime"
}
}
}
from jsonschema import validate
validate(order, schema)
错误是jsonschema.exceptions.SchemaError: 'datetime' is not valid under any of the given schemas。如何正确验证?
【问题讨论】:
-
文档建议用破折号拼写
'date-time'。查看one of the schemas,它被描述为“有效的日期时间字符串”,而不是datetime实例。 -
@StevenRumbalski 我需要验证一个日期时间实例
-
按照我评论中的第一个链接到@sobek 的答案,该答案显示了如何扩展类型。您可以扩展
date-time,而不是扩展number。 -
如果您实际上并不打算转储到 JSON 并且只想验证您的字典,请使用
schema。
标签: python jsonschema python-jsonschema