__sleep()就像Python中的方法一样

时间:2014-09-05 09:41:57

标签: python serialization

我想知道是否有像在Python中实现的__sleep() magic function(来自PHP)这样的东西。

我遇到了一个类的问题,Python说它不是JSON可序列化的,我想从类中的魔术方法返回一个简单的字典,这样我的一个lib就可以了成功致电json.dumps。 (我无法控制执行序列化的代码行,正如我所说,它已在库中完成)

1 个答案:

答案 0 :(得分:2)

不幸的是,如果您无法控制对json.dumps()的调用,那么这很棘手。如果你这样做,可以通过多种方式解决这个问题(最值得注意的是通过在子类JSON编码器中实现default函数)。

在您的特定情况下,最好在将对象传递给库之前将其转换为可序列化的形式。这样,当调用json.dumps()时,您的输入可以无错误地序列化。这假设库不需要与您的对象交互并简单地转储它。