TypeError:<Response 36 bytes [200 OK]> 不可 JSON 序列化

问题描述 投票:0回答:2

我正在使用 Restful Flask 编写 Web 服务。 下面的代码给了我这个错误 - TypeError:不是 JSON 可序列化

from flask import jsonify
from flask_restful import Resource
class Recipe(Resource):
   def get(self):
      return jsonify({"status": "ok", "data": ""}), 200

这段代码工作得怎么样

from flask import jsonify
from flask_restful import Resource
class Recipe(Resource):
   def get(self):
      return jsonify({"status": "ok", "data": ""})

下面的代码也可以工作

from flask import jsonify
from flask_restful import Resource
class Recipe(Resource):
def get(self):
   return {"status": "ok", "data": ""},200

我注意到当我同时使用 jsonify 和响应代码时出现错误,我需要使用 jsonfy 因为我将发送对象作为响应。

python flask flask-restful
2个回答
9
投票

找到了解决方案 - Flask 有一个名为 make_response

的函数
from flask import jsonify, make_response

class Recipe(Resource):
   def get(self):
   return make_response(jsonify({"status": "ok", "data": ""}), 201)

0
投票

我有同样的问题,但我意识到当我尝试将

jsonify
方法的结果转换为
str
时犯了一个小错误。

str(jsonify({'code':200, 'message': 'test'}))
© www.soinside.com 2019 - 2024. All rights reserved.