繁体   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