Проверка схемы JSON, которая имеет фиксированные ключи и определяемые пользователем ключи в Python.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проверка схемы JSON, которая имеет фиксированные ключи и определяемые пользователем ключи в Python.

Сообщение Anonymous »

Я пытаюсь проверить файл JSON, предоставленный пользователем. JSON будет содержать определенные фиксированные ключи, а также некоторые определяемые пользователем ключи. Я хочу проверить, что этот объект JSON содержит эти фиксированные ключи в определенном формате, а также определяемые пользователем ключи также имеют определенный формат (поскольку эти ключи всегда будут иметь значения в определенном формате).
Я наткнулся на этот пост «Проверка данных JSON с помощью Python», но документация для jsonschema.validate на самом деле не показывает ничего общего с определяемыми пользователем ключами, а также как определить, должен ли ключ иметь список диктовок или диктовку, ключ-значение которой должно быть списком диктовок.
Вот пример схемы:
{
"a": "some value",
"b": "some value",
"c": {
"custom_a": [{...}],
"custom_b": [{...}]
},
"d": [{...}]
}

Я пробовал сделать следующее:
import json
from jsonschema import validate

my_json = json.loads()

schema = {
"a" : {"type": "string"},
"b" : {"type": "string"},
"c" : {[{}]},
"d": [{}]
}

validate(instance=my_json, schema=schema) #raises TypeError on "c" and "d" in schema spec

Я также попробовал следующую спецификацию схемы, но застрял в том, как обрабатывать пользовательские ключи, а также вложенные списки в словарях и т. д.
schema = {
"a" : {"type": "string"},
"b" : {"type": "string"},
"c" : {
"Unsure what to define here": {"type": "list"} #but this is a list of dicts
},
"d": {"type": "list"} #but this is a list of dicts
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проверка схемы JSON, которая имеет фиксированные ключи и определяемые пользователем ключи в Python.
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Используйте имена пользовательских свойств при создании POJO из схемы json (для схемы yaml).
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как установить фиксированные размеры кадров в Python tkinter
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как установить фиксированные размеры кадров в Python tkinter
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как установить фиксированные размеры кадров в Python tkinter
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»