JSON Summary
Python's json module handles basic serialisation. For custom types, use JSONEncoder. For validation, use Pydantic or jsonschema. For performance, use orjson. For large files, stream with ijson or JSONL.
Python's json module handles basic serialisation. For custom types, use JSONEncoder. For validation, use Pydantic or jsonschema. For performance, use orjson. For large files, stream with ijson or JSONL.
import json, orjson
from pydantic import BaseModel
class Item(BaseModel):
id: int; name: str; price: float
item = Item(id=1, name="Widget", price=9.99)
fast = orjson.dumps(item.model_dump()) # fast bytes
back = Item.model_validate_json(fast) # validate and parse
Choose json for portability, orjson for speed, Pydantic for validation — they complement each other.