ОПЕРАЦИЯ · ПРОВЕРКА
Проверить JSON
Проверить синтаксис, запретить NaN и повторные ключи.
Предварительные условия
Python 3; example.json в UTF-8.
Команда
python3 - <<'PY'
import json
def pairs(items):
out = {}
for k, v in items:
if k in out: raise ValueError("Повторный ключ: " + k)
out[k] = v
return out
def invalid(s): raise ValueError(s)
with open("example.json", encoding="utf-8") as f:
json.load(f, object_pairs_hook=pairs, parse_constant=invalid)
print("Синтаксис корректен")
PYОбъяснение аргументов
object_pairs_hook видит ключи до их свёртки; parse_constant отклоняет нестандартные константы.
Ожидаемый результат
Код 0 и сообщение, либо исключение с ненулевым кодом.
Проверка
Проверку бизнес-полей выполните отдельно по схеме.
Распространённые ошибки
- Успешный разбор не проверяет обязательные поля и допустимые диапазоны.
Обратимость
Файл не меняется.