8
セットをJSONでシリアル化する方法は?
コレクションに重複が含まれないようにするために、メソッドとsetオブジェクトを含むPython があります。__hash____eq__ この結果をjsonでエンコードする必要がありsetますsetが、json.dumpsメソッドにempty を渡すとaが発生しTypeErrorます。 File "/usr/lib/python2.7/json/encoder.py", line 201, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode return _iterencode(o, 0) File "/usr/lib/python2.7/json/encoder.py", line 178, in default raise TypeError(repr(o) + " is not JSON serializable") TypeError: set([]) is not JSON serializable json.JSONEncoderカスタムdefaultメソッドを持つクラスの拡張機能を作成できることはわかっていますが、からの変換をどこから始めればよいかさえわかりませんset。setデフォルトのメソッド内の値から辞書を作成し、そのエンコードを返す必要がありますか?理想的には、デフォルトのメソッドが、元のエンコーダーがチョークするすべてのデータ型を処理できるようにしたいと思います(Mongoをデータソースとして使用しているため、日付でもこのエラーが発生するようです) 正しい方向へのヒントがあれば幸いです。 編集: 答えてくれてありがとう!おそらくもっと正確だったはずだ。 私setは翻訳の制限を回避するためにここで回答を利用(および賛成)しましたが、問題である内部キーもあります。 のオブジェクトは、にset変換される複雑なオブジェクトです__dict__が、jsonエンコーダーの基本タイプには適さない可能性のあるプロパティの値を含めることもできます。 このにはさまざまなタイプが多数setあり、ハッシュは基本的にエンティティの一意のIDを計算しますが、NoSQLの真の精神では、子オブジェクトが何を含んでいるかを正確に伝えることはできません。 …
148
python
json
serialization
set