json.dumps vs flask.jsonify json.dumps vs flask.jsonify python python

json.dumps vs flask.jsonify


The jsonify() function in flask returns a flask.Response() object that already has the appropriate content-type header 'application/json' for use with json responses. Whereas, the json.dumps() method will just return an encoded string, which would require manually adding the MIME type header.

See more about the jsonify() function here for full reference.

Edit:Also, I've noticed that jsonify() handles kwargs or dictionaries, while json.dumps() additionally supports lists and others.


You can do:

flask.jsonify(**data)

or

flask.jsonify(id=str(album.id), title=album.title)


This is flask.jsonify()

def jsonify(*args, **kwargs):    if __debug__:        _assert_have_json()    return current_app.response_class(json.dumps(dict(*args, **kwargs),        indent=None if request.is_xhr else 2), mimetype='application/json')

The json module used is either simplejson or json in that order. current_app is a reference to the Flask() object i.e. your application. response_class() is a reference to the Response() class.