使用常规编码器使对象JSON可序列化
JSON序列化自定义非可序列化对象的常规方法是子类化json.JSONEncoder
,然后将自定义编码器传递给转储。
它通常看起来像这样:
class CustomEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, foo): return obj.to_json() return json.JSONEncoder.default(self, obj)print json.dumps(obj, cls = CustomEncoder)
我正在尝试做的是使用默认编码器进行序列化。我环顾四周但找不到任何东西。我的想法是编码器会看到一些字段来确定json编码。类似的东西__str__
。也许是一个__json__
领域。在python中有这样的东西吗?
我想制作一个模块的类,我正在使用JSON序列化给使用该软件包的每个人,而不必担心实现他们自己的[普通]自定义编码器。
相关分类