[英]Python jsonschema Validate Timezone
只是想知道是否有辦法擴展傳遞給 jsonschema 驗證器的 FormatChecker? 我似乎在文檔中找不到任何東西。 基本上,我正在嘗試檢查字符串值是否是有效的時區。 我在時區方面使用 pytz。 但是,我需要檢查提供的 json 字符串屬性是否包含在該列表中。 我能想到的唯一其他方法是將列表提取為架構中的枚舉字段。 但是,這是一個巨大的列表,而且似乎是一種非常笨拙的方式。 理想情況下,我想要這樣的東西:
from pytz import common_timezones
from jsonschema import validate, FormatChecker
timezone_checker = FormatChecker(formats=["timezone"])
timezone_checker.extend(check_timezone)
instance = { "timezone": "Australia/Sydney" }
schema = {
"properties": {
"timezone": {"type": "string", "format": "timezone"}
}
}
validate(instance=instance, schema=schema, format_checker=timezone_checker)
...
def check_timezone(p):
if not isinstance(p, str):
return False
return p in common_timezones
提前致謝。
執行此操作的 function 稱為FormatChecker.checks
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.