Introduction

pyserdedataclassesベースのシンプルで強力なシリアライゼーションライブラリで、クラスを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)

Next Steps