使用json.dump序列化Python对象

时间:2018-11-30 11:01:01

标签: python json

外部库在我传递的对象上调用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

0 个答案:

没有答案
相关问题