Я использую python-jsonschema для проверки json. У меня есть объект с локализованными текстами, которые указаны внутри ключей кода языка rfc1766 следующим образом:
"Description": {
"en": "English Description",
"sv": "Swedish Description",
"fr": "French Description"
},
я прочитал в документации, что могу использовать атрибут 'format' для проверки пользовательского формата с помощью функции. Итак, я написал метод, который принимает строку в качестве параметра и возвращает True, если это строка языка RFC1766.
@_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"
}]