簡體   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