Проверка файла json со схемой не работаетPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проверка файла json со схемой не работает

Сообщение Anonymous »

Я пытаюсь проверить json-файл со схемой, но он всегда говорит, что он действителен, даже когда я удаляю некоторые поля из загруженного файла, см.:

Код: Выделить всё

import jsonschema
from jsonschema import validate

my_schema = {
'ID': {'type': 'string'},
'Country': {'type': 'string'},
'Name': {'type': 'string'},
'A': {'type': 'string'},
'B': {'type': 'string'},
'C': {'type': 'string'},
'D': {'type': 'string'}
}

def validate_json(json_data):
try:
validate(instance=json_data, schema=my_schema)
except jsonschema.exceptions.ValidationError as err:
return 'Given JSON data is Invalid'
return 'Given JSON data is Valid'

# Function to validate the json file
def validate_json_syntax(json_file):
try:
with open(json_file, 'r') as f:
data = json.load(f)
return validate_json(data)
except FileNotFoundError as e:
print('Read file: Unsuccessful - %s!' % e)
return None

# Validate json file syntax
print(validate_json_syntax(file_name))
В файле сохранены следующие данные:

Код: Выделить всё

[[{"ID": "101", "Country": "UK", "Name": "none", "A": "2", "B": "6", "C": "0", "D": "0"},
{"ID": "102", "Country": "UK", "Name": "bla", "A": "1", "B": "2", "C": "0", "D": "0"}],
[{"ID": "110", "Country": "GB", "Name": "nana", "A": "2", "B": "6", "C": "0", "D": "0"},
{"ID": "111", "Country": "GB", "Name": "bla", "A": "1", "B": "3", "C": "0", "D": "0"}]
]
Но даже когда я меняю файл следующим образом:

Код: Выделить всё

[[{"ID": "101", "Country": "UK", "B": "6", "C": "0", "D": "0"},
{"ID": "102", "Country": "UK", "Name": "bla", "A": "1", "B": "2", "C": "0", "D": "0"}],
[{"ID": "110", "Country": "GB", "Name": "nana", "A": "2", "B": "6", "C": "0", "D": "0"},
{"ID": "111", "Country": "GB", "Name": "bla", "A": "1", "B": "3", "C": "0", "D": "0"}]
]
Результат функции проверки json со схемой по-прежнему действителен.
Как мне изменить схему?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проверка файла json со схемой не работает
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Проверка файла json со схемой не работает
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Проверка файла json со схемой не работает
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Автоматически устанавливать значения по умолчанию в соответствии со схемой JSON
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Установить значения по умолчанию в соответствии с схемой JSON автоматически
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

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