Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

Python: オブジェクトフィールドを辞書型に変換

やりたいこと

class Data():
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
data = Data()

Python上でデータをいじることになると、オブジェクトフィールド(クラス変数/インスタンス変数)から辞書型にパパっと変換したいと思うことが多々あります。

真面目に変換処理を書くと結構面倒なので、便利なモジュールがないが探してみました。

解決方法

・参考元: stackoverflow.com

jsons モジュールで、オブジェクトフィールドからjsonに可換な辞書型に変換してくれる jsons.dump()という便利な関数があります。これを利用すると、2行追加するだけでオブジェクトフィールドから辞書型に変換できます。

>>> import jsons
>>> jsons.dump(data)
{'a': 1, 'b': 2, 'c': 3}