Source code for drepr.readers.json
from __future__ import annotations
from io import StringIO
from pathlib import Path
import orjson
import serde.json
from drepr.models.resource import ResourceDataObject, ResourceDataString
[docs]def read_source_json(infile: Path | str | ResourceDataString | ResourceDataObject):
if isinstance(infile, ResourceDataString):
return orjson.loads(infile.as_str())
elif isinstance(infile, ResourceDataObject):
return infile.value
return serde.json.deser(infile)