import bson, json
def default(obj):
"""
JSON 序列化函数,处理 Mongo ID
用法:json.dumps(default=default)
:param obj:
:return:
"""
if isinstance(obj, bson.objectID):
return bson.json_util.default(obj)
json.dumps({"id": bson.ObjectId("123456789012345678901234")}, default=default)
运行结果如下
In [3]: json.dumps({"id": bson.ObjectId("123456789012345678901234")})
TypeError: Object of type 'ObjectId' is not JSON serializable
--------------------------------------------------------------
In [4]: json.dumps({"id": bson.ObjectId("123456789012345678901234")}, default=d
...: efault)
Out[4]: '{"id": {"$oid": "123456789012345678901234"}}'