Skip to content

Instantly share code, notes, and snippets.

@digitaldreamer
Forked from akhenakh/tools.py
Created January 27, 2016 15:52
Show Gist options
  • Save digitaldreamer/4a25feb2d74f328cbac2 to your computer and use it in GitHub Desktop.
Save digitaldreamer/4a25feb2d74f328cbac2 to your computer and use it in GitHub Desktop.
flask jsonify with support for MongoDB from tools import jsonify
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