外部库在我传递的对象上调用json.dump()(这很复杂,并且具有其他对象的列表,等等。
我可以以某种方式在类中定义其序列化方式吗? PHP具有http://php.net/manual/en/class.jsonserializable.php
在对象(和对象内部的对象)上运行json_encode()时会调用哪个
我已经读过有关从JSONEncoder扩展的内容,然后调用了默认函数,但这不起作用(https://docs.python.org/3/library/json.html#json.JSONEncoder)
主要问题是,除了要传递的对象之外,我没有任何控制权将哪些参数传递给json.dump()。我无法定义特殊的编码器。
下面是我要序列化的示例对象,以及我尝试使用JSONEncoder类的尝试
class FancyObject(JSONEncoder):
some_value = None
more_objects_in_a_list = []
def default(self, o):
return {
"some_value": o.csin,
"more_objects_in_a_list": o.more_objects_in_a_list
}
这是我无法修改的编码器https://github.com/elastic/elasticsearch-py/blob/master/elasticsearch/serializer.py