我有一个 python
函数,它返回 Flask jsonify
对象。当我尝试使用 get_json()
甚至 json()
读取这个返回的 json
对象时,它会抛出错误。这是我的代码:
from flask import jsonify
def funct1(par1):
if par1 == 'Hi':
return jsonify(result=1,msg='Hello')
else:
return jsonify(result=0,msg='Sorry')
def func2():
response = funct1('Hi')
rsp_js = response.get_json() # This throws error
print(rsp_js)
当我在上面执行时,我收到错误消息,因为 Response object has no attribute get_json
。我也尝试了 json()
但得到了同样的错误。如何读取返回的 jsonify 对象?
注意:我的 flask 版本是 0.12.2
最佳答案
get_json
直到 version 1.0 才被添加到 Flask 中的响应对象中.在之前的版本中,需要使用get_data
:
import json
json.loads(response.get_data().decode("utf-8"))
话虽如此,我要提醒您不要直接从其他函数调用路由方法(测试除外),或从非路由方法返回响应对象。
如果您尝试测试此方法,您应该考虑使用 test_client
:
with app.test_client() as client:
json.loads(client.get("the/url").get_data().decode("utf-8"))
# ...
关于python - 如何读取 python flask jsonify 响应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51563867/