Reputation: 2300
I am writing web service using restful flask. The below code giving me this error - TypeError: is not JSON serializable
from flask import jsonify
from flask_restful import Resource
class Recipe(Resource):
def get(self):
return jsonify({"status": "ok", "data": ""}), 200
How ever this code is working fine
from flask import jsonify
from flask_restful import Resource
class Recipe(Resource):
def get(self):
return jsonify({"status": "ok", "data": ""})
The Below code is also working
from flask import jsonify
from flask_restful import Resource
class Recipe(Resource):
def get(self):
return {"status": "ok", "data": ""},200
I have noticed that I get the error when I use jsonify and response code together, I need to use jsonfy because I will be sending object as response.
Upvotes: 7
Views: 15804
Reputation: 923
I have the same problem but I realized that I made a small mistake when I was trying to convert the result of jsonify
method to str
.
str(jsonify({'code':200, 'message': 'test'}))
Upvotes: 0
Reputation: 2300
Got the solution - Flask has this function called make_response
from flask import jsonify, make_response
class Recipe(Resource):
def get(self):
return make_response(jsonify({"status": "ok", "data": ""}), 201)
Upvotes: 9