我正在尝试使用 JSON(使用 simplejson)序列化 python 对象列表,并且收到对象“不是 JSON 可序列化”的错误。
该类是一个简单的类,其字段只有整数、字符串和浮点数,并从一个父超类继承类似的字段,例如:
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方法是最好的方法吗?最后,拥有引用另一个对象的字段是否会使事情变得非常复杂?如果是这样,我可以重写我的代码,只在类中包含简单的字段(如字符串/浮点数等)
谢谢你。