一尘不染

如何在Flask中“ jsonify”一个列表?

flask

当前Flask在对列表进行json时会引发错误。

我知道可能出于安全原因https://github.com/mitsuhiko/flask/issues/170,但是我仍然希望有一种返回JSON列表的方法,如下所示:

[
    {'a': 1, 'b': 2},
    {'a': 5, 'b': 10}
]

代替

{ 'results': [
    {'a': 1, 'b': 2},
    {'a': 5, 'b': 10}
]}

在响应application/json请求时。如何使用Jsonify在Flask中返回JSON列表?


阅读 433

收藏
2020-04-05

共2个答案

一尘不染

jsonify出于安全原因,可以防止你在Flask 0.10及更低版本中执行此操作。

无论如何,只要json.dumps在Python标准库中使用即可。

2020-04-05
一尘不染

你不能,但是你仍然可以这样做。我需要这个用于jQuery-File-Upload

import json
# get this object
from flask import Response

#example data:

    js = [ { "name" : filename, "size" : st.st_size , 
        "url" : url_for('show', filename=filename)} ]
#then do this
    return Response(json.dumps(js),  mimetype='application/json')
2020-04-05