簡體   English   中英

如何打印從Flask接收到的JSON對象?

[英]How do I print a JSON object received from Flask?

我的Flask網絡應用返回jsonify(data),並且似乎工作正常(日志正確)。

HTML頁面具有:

 $.getJSON("http://127.0.0.1:5000/").done(function (data) {
  console.log(data);
  });

並沒有打印任何內容。 我嘗試了不同的方法,而最接近的方法是[object object]。

Python代碼類似於:

@app.route("/")  
def run():  
    rows = []
    # code to populate rows with values from a db
    data = {'rows' : rows}
    print json.dumps(data)
    return jsonify(data)

json.dumps()打印{“ rows :: [[[1.0,2.0]]]}

抱歉,回到這有點晚了。

我認為問題在於您正在嘗試響應getJSON調用的“完成”事件。 getJSON調用是“ ajax”的包裝,但是我敢打賭,它會覆蓋傳入的默認函數的“ done”回調。以這種方式使用getJSON:

$.getJSON("http://127.0.0.1:5000", function(data) {
    var str = JSON.stringify(data, undefined, 2); 
    console.log(str);
});
  • 最好打印出在服務器端生成的JSON字符串,以確保首先正確生成。

  • 然后,對於客戶端,您可以在客戶端javascript代碼上放置一個斷點,並嘗試觀察從服務器端接收到的值,以確保接收到的值正確。

  • 然后,如果您確實想使用console.log將其打印出來,則可以使用JSON.stringify方法,如下所述。

嘗試

$.getJSON("http://127.0.0.1:5000").done(function (data) {
    // indentation level = 2
    var str = JSON.stringify(data, undefined, 2); 
    console.log(str);
});

請參閱https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify ,以獲取有關JSON.stringify方法的詳細說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM