
基本问题是,JSON编码器
json.dumps()仅知道默认情况下如何序列化一组有限的对象类型(所有内置类型)。在此处列出:https : //docs.python.org/3.3/library/json.html#enprers-and-
deprers
一种好的解决方案是使您的类继承自该类
JSONEnprer,然后实现该
JSONEnprer.default()函数,并使该函数为您的类发出正确的JSON。
一个简单的解决方案是调用该实例
json.dumps()的
.__dict__成员。那是一个标准的Python
dict,如果您的类很简单,它将是JSON可序列化的。
class Foo(object): def __init__(self): self.x = 1 self.y = 2foo = Foo()s = json.dumps(foo) # raises TypeError with "is not JSON serializable"s = json.dumps(foo.__dict__) # s set to: {"x":1, "y":2}在此博客文章中讨论了上述方法:
使用__dict__将任意Python对象序列化为JSON
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)