For python >= 3.10, you can use PEP604 Union operator X | Y
.
from dataclasses import dataclass
from serde import serde
from serde.json import from_json, to_json
@serde
@dataclass
class Bar:
v: int
@serde
@dataclass
class Baz:
v: float
@serde
@dataclass
class Foo:
a: int | str
b: dict[str, int] | list[int]
c: Bar | Baz