Skip to content

Instantly share code, notes, and snippets.

@cadd
Forked from akhenakh/tools.py
Created April 4, 2019 09:24
Show Gist options
  • Save cadd/286cf701adaf3177d0ae9d48bd352574 to your computer and use it in GitHub Desktop.
Save cadd/286cf701adaf3177d0ae9d48bd352574 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