前提・実現したいこと
dataclassからdictに変換後に、dictをjsonに変換しようとしています。
その際、dataclassからdictへは変換できているのですが、dictからjsonに変換する際いエラーが発生します。
ただし、一部のdataclassでのみ発生しており、原因がわかりません。
同じような事を経験された方がいらっしゃれば、解決策を教えていただきたいです。
よろしくお願いいたします。
発生している問題・エラーメッセージ
dataclassを以下の方法でjsonに変換しようとしていますが、エラーが発生します。
# エラーメッセージ(本当にtype typeと出てきています。) TypeError(f'Object of type {o.__class__.__name__} ' TypeError: Object of type type is not JSON serializable
該当のソースコード
python
1@dataclass 2class DcSub001: 3 #~省略~ 4@dataclass 5class DcSub002: 6 #~省略~ 7@dataclass 8class DcSub003: 9 #~省略~ 10 11@dataclass 12class DcMain 13 sub1s: list[DcSub001] 14 sub2s: list[DcSub002] 15 #~省略~ 16 17#中身の設定 18dcMain = dcMain() 19 20# 一番階層の深いdataclassから順序必要なデータを、DcSub001(**dictBuf)のような形で設定しています。 21#~省略~ 22 23dictBuf = asdict(dcMain) 24jsonBuf = json.dumps(dictBuf)
試したこと
set型やdatetime等の型が含まれていない事は確認しています。
同じような処理で、エラーが発生しないものも確認できています。
dataclassの構造は5階層程ネストしております。
エラーが発生していないものはどれも階層が浅いです。
補足情報(FW/ツールのバージョンなど)
python 3.9.9
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。