指定 ujson 如何处理自定义对象的序列化?

Specifying how ujson handles serialization of a custom object?

我有一个自定义对象,我想使用 python 的记录器模块进行记录。

我用字典记录它:

logger.info({
    'message': 'something happened',
    'object': my_custom_object,
})

问题是记录器使用 ujson.dumps() 将输入序列化为 logger.info()

ujson.dumps() 将 my_custom_object 转换为实例变量名称列表。这不是很有帮助。我想指定一个自定义 toJsontoDict 方法,以便在尝试序列化此方法时使用。

这可能吗?

有点像您可以指定 __str__ 方法,任何时候 python 尝试将您的对象转换为字符串,它都会调用该方法。

显然,您 实际上可以 在对象上实施 toDict 方法,它会起作用。