繁体   English   中英

如何读取python flask jsonify响应对象

[英]how to read python flask jsonify response object

我有一个返回Flask jsonify对象的python函数。 当我尝试使用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对象?

注意 :我的烧瓶版本为0.12.2

直到版本1.0才将get_json添加到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"))
    # ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM