You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python MagicMock对象支持JSON序列化?

问题:让MagicMock对象支持JSON序列化(无需修改json.dumps调用)

我在为第三方包使用Python Mock对象时,遇到一个需求:第三方包需要对我的mock进行JSON序列化,且我无法修改json.dumps的调用方式。

之前曾通过继承dict实现了可被序列化的对象,示例代码如下:

class FileItem(dict):
    def __init__(self, fname):
        dict.__init__(self, fname=fname)

f = FileItem('tasks.txt')
json.dumps(f)  # 此处无需做任何修改

但我的场景要求对象必须是MagicMock类型,因此尝试了多重继承的方式:

class FileItem(MagicMock, dict):
    def __init__(self):
        MagicMock.__init__(self) 
        dict.__init__(self)

遗憾的是该多重继承方案并未生效。补充说明:第三方库无需对序列化结果进行反序列化,也不会使用该MagicMock的JSON序列化内容。

内容的提问来源于stack exchange,提问作者calmcc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:25:58