Check

Сериализация сложных объектов

Python Senior Яндекс
Как вы сериализуете сложные объекты (например, dataclass с `datetime` и `Decimal`) в JSON? Покажите подход с кастомным encoder или с помощью `pydantic`.
Ответы
Сериализация в JSON
Стандартный `json` не умеет сериализовать `datetime`, `Decimal` и произвольные объекты. Подход 1 — кастомный encoder: ```python import json from datetime import datetime from decimal import Decimal class MyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime): return obj.isoformat() if isinstance(obj, Decimal): return float(obj) return super().default(obj) json.dumps(obj, cls=MyEncoder) ``` Подход 2 — `pydantic`/`pydantic-core`, где сериализация настраивается через конфиг и типы полей.