Skip to content

Instantly share code, notes, and snippets.

@jessejohnson
Forked from akhenakh/tools.py
Created March 23, 2014 22:31
Show Gist options
  • Save jessejohnson/9730856 to your computer and use it in GitHub Desktop.
Save jessejohnson/9730856 to your computer and use it in GitHub Desktop.
try:
import simplejson as json
except ImportError:
try:
import json
except ImportError:
raise ImportError
import datetime
from bson.objectid import ObjectId
from werkzeug import Response
class MongoJsonEncoder(json.JSONEncoder):
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)
def jsonify(*args, **kwargs):
""" jsonify with support for MongoDB ObjectId
"""
return Response(json.dumps(dict(*args, **kwargs), cls=MongoJsonEncoder), mimetype='application/json')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment