В по-новите версии на simplejson (и json модул в Python 2.7) прилагате default метод във вашите подкласове:
from json import JSONEncoder
from pymongo.objectid import ObjectId
class MongoEncoder(JSONEncoder):
def default(self, obj, **kwargs):
if isinstance(obj, ObjectId):
return str(obj)
else:
return JSONEncoder.default(obj, **kwargs)
След това можете да използвате енкодера с MongoEncoder().encode(obj) или json.dumps(obj, cls=MongoEncoder) .