Pythonでdataclassとjsonを相互変換したいときありませんか? 私はあります。そんな時に使えるライブラリを紹介します。
その名も dataclasses-json です。そのまま。
pypiになるので、pipでインストールできます。
pip install dataclasses-json
こんな感じで使えます。
>>> from dataclasses import dataclass >>> from dataclasses_json import dataclass_json >>> >>> @dataclass_json ... @dataclass ... class Person: ... name: str ... age: int ... >>> mtb = Person(name='matoba', age=34) >>> mtb.to_json() '{"name": "matoba", "age": 34}' >>> type(mtb.to_json()) <class 'str'> >>> mtb.to_dict() {'name': 'matoba', 'age': 34} >>> type(mtb.to_dict()) <class 'dict'> >>> mtb_json = mtb.to_json() >>> Person.from_json(mtb_json) Person(name='matoba', age=34)