I am not sure I understand the purpose of the flask.jsonify method. I try to make a JSON string from this:
data = {"id": str(album.id), "title": album.title}
but what I get with json.dumps differs from what I get with flask.jsonify.
json.dumps(data): [{"id": "4ea856fd6506ae0db42702dd", "title": "Business"}]
flask.jsonify(data): {"id":…, "title":…}
Obviously I need to get a result that looks more like what json.dumps returns. What am I doing wrong?
The
jsonify()function in flask returns aflask.Response()object that already has the appropriate content-type header ‘application/json’ for use with json responses. Whereas, thejson.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, whilejson.dumps()additionally supports lists and others.