【发布时间】:2013-10-11 20:00:15
【问题描述】:
我正在使用python-jsonschema 进行 json 验证。我有一个对象,其中包含在 rfc1766 语言代码键中指定的本地化文本,如下所示:
"Description": {
"en": "English Description",
"sv": "Swedish Description",
"fr": "French Description"
},
I've read in the documentation 我可以使用“格式”属性来检查使用函数的自定义格式。所以,我写了一个方法,它接受一个字符串作为参数,如果它是一个 RFC1766 语言字符串,则返回 True。
@_checks_drafts('rfc1766lang')
def rfc1766lang(instance):
"""some logic, return True if rfc1766"""
但是我找不到任何关于如何应用它来验证对象键而不是值的示例。
这可能吗?
我尝试了类似下面的方法,但我无法成功
rfc1766_string_schema_v2 = {
'type': 'object',
'format': 'rfc1766lang',
'additionalProperties': False
}
我知道如果我有如下的 json 字符串会容易得多。但是,目前这不是一个选项。
"Description": [{
"lan": "en",
"text": "Description in English"
}, {
"lan": "sv",
"name": "Description in Swedish"
}]
【问题讨论】:
-
我什至找不到如何将您的自定义格式检查器应用于一个值,这对我有很大帮助。您提供的文档链接仅显示如何使用预定义格式。
标签: python jsonschema