我想让我的类JSON序列化,并尝试使用DevTools
类扩展它。但是,为什么JSONEncoder
函数在它应该是我的类的方法时采用default
参数。
我想序列化我的类对象,而不是传递给方法的第三个对象?
在子类中实现此方法,使其返回o的可序列化对象,或调用基本实现(以引发TypeError)。
o
答案 0 :(得分:0)
你应该这样做:
>>> import json
>>> class ComplexEncoder(json.JSONEncoder):
... def default(self, obj):
... if isinstance(obj, complex):
... return [obj.real, obj.imag]
... # Let the base class default method raise the TypeError
... return json.JSONEncoder.default(self, obj)
也许你在最后一次回归时忘记了json。
看看json doc