你应该定义自己的JSONEncoder
并使用它:
import json
from bson import ObjectId
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, ObjectId):
return str(o)
return json.JSONEncoder.default(self, o)
JSONEncoder().encode(analytics)
也可以通过以下方式使用它。
json.encode(analytics, cls=JSONEncoder)
Pymongo提供了json_util-你可以改用它来处理BSON类型