漂亮显示Flask的JSON数据

时间:2016-05-20 01:12:55

标签: python json flask

我在GET请求后收到了一个响应对象,并且我已将其转换为JSON jsonify()。当我将它传递给模板时,我得到的是一个JSON对象,如:<Response 1366 bytes [200 OK]>这个。

#request.py
...
response = requests.get('http://www.example.com')
response_json = jsonify(all=response.text)

return render_template(
    'results.html',
    form=ReqForm(request.form),
    response=response_json,
    date=datetime.datetime.now()
)

和模板..

#results.html
...
<div class="results">
    {{ response }} # --> gives <Response 1366 bytes [200 OK]>
</div>
...

如何在模板中显示此JSON?

1 个答案:

答案 0 :(得分:6)

使用json.dumps

response = json.dumps(response.text, sort_keys = False, indent = 2)

或使其更漂亮

response = json.dumps(response.text, sort_keys = True, indent = 4, separators = (',', ': '))

模板

#results.html
...
<div class="results">
    <pre>{{ response }}</pre>
</div>
...

flask中的jsonify()函数返回flask.Response()对象,该对象已经具有适当的内容类型标题'application/json'以用于json响应,而json.dumps()将只返回编码字符串,需要手动添加mime类型标题。

来源:https://stackoverflow.com/a/13172658/264802