Pythonオブジェクトのリストを(simplejsonを使用して)JSONでシリアル化しようとしていますが、オブジェクトが「JSONシリアル化可能ではない」というエラーが発生します。
このクラスは、整数、文字列、および浮動小数点数のみのフィールドを持つ単純なクラスであり、1つの親スーパークラスから同様のフィールドを継承します。例:
class ParentClass:
def __init__(self, foo):
self.foo = foo
class ChildClass(ParentClass):
def __init__(self, foo, bar):
ParentClass.__init__(self, foo)
self.bar = bar
bar1 = ChildClass(my_foo, my_bar)
bar2 = ChildClass(my_foo, my_bar)
my_list_of_objects = [bar1, bar2]
simplejson.dump(my_list_of_objects, my_filename)
ここで、foo、barは、前述のような単純なタイプです。唯一注意が必要なのは、ChildClassに(ParentClassまたはChildClassではないタイプの)別のオブジェクトを参照するフィールドがある場合があることです。
simplejsonを使用してこれをjsonオブジェクトとしてシリアル化する最も簡単な方法は何ですか?辞書として直列化可能にするだけで十分ですか?単にChildClassのdictメソッドを書くための最良の方法はありますか?最後に、別のオブジェクトを参照するフィールドがあると、事態が大幅に複雑になりますか?もしそうなら、クラスに単純なフィールド(文字列/フロートなど)のみを持つようにコードを書き直すことができます
ありがとうございました。