Использование Python Как мне подтвердить JSON против схемы JSON потоковым образом, например, не загружать весь объект в Python

Программы на Python
Anonymous
 Использование Python Как мне подтвердить JSON против схемы JSON потоковым образом, например, не загружать весь объект в

Сообщение Anonymous »

У меня есть большой json, который я не хочу загружать в память. Я хотел бы подтвердить это против схемы JSON в моде . Все библиотеки, которые я мог найти до сих пор, только проверяют полностью загруженные объекты JSON (например, Pydantic или https://github.com/python-jsonschema/jsonschema). Что я, в то время как я, это какой -то способ, чтобы подтвердить его питание оригинального чанка JSON по кучу, то есть управлять размером буфера.
Это может выглядеть так:

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

import pydantic  # I use V2
import ijson
import pathlib

class A(pydantic.BaseModel):
i: int
a: list[int]
s: str

jsonpath = pathlib.Path("some.json")
validator = MyValidator(schema=A.model_json_schema())
with jsonpath.open("rb") as file:
for prefix, event, value in ijson.parse(file, use_float=True):
validator.event((prefix, event, value))

print(validator.errors)
Представьте себе, что файл. Я не хочу загружать весь объект в память (это то, что будет делать Pydantic), но я хочу убедиться, что некоторые. Json соответствует схеме . Valyator.errors может дать мне список ошибок, которые будут пустыми в тех случаях, где нет, где обнаружено.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-fashion

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