def default(self, obj): if isinstance(obj, (datetime.datetime, datetime.date)): return obj.isoformat() elif isinstance(obj, ObjectId): return unicode(obj) return json.JSONEncoder.default(self, obj)