Introduction
pyserde
はdataclassesベースのシンプルで強力なシリアライゼーションライブラリで、クラスをJSONやYAML等の様々なデータフォーマットに簡単に効率的に変換可能になります。
クラスに@serde
デコレータを付け、PEP484形式でフィールドに型アノテーションを付けます。
from serde import serde
@serde
class Foo:
i: int
s: str
f: float
b: bool
すると、Foo
クラスは以下のようにJSONにシリアライズ出来るようになります。
>>> from serde.json import to_json
>>> to_json(Foo(i=10, s='foo', f=100.0, b=True))
'{"i":10,"s":"foo","f":100.0,"b":true}'
また、JSONからFoo
クラスにデシリアライズも出来るようになります。
>>> from serde.json import from_json
>>> from_json(Foo, '{"i": 10, "s": "foo", "f": 100.0, "b": true}')
Foo(i=10, s='foo', f=100.0, b=True)