Json 我如何在烧瓶中列出清单?
当前,Json 我如何在烧瓶中列出清单?,json,flask,Json,Flask,当前,Flask在jsonification列表时会引发错误 我知道可能有安全方面的原因,但我仍然希望有一种方法返回JSON列表,如下所示: [ {'a': 1, 'b': 2}, {'a': 5, 'b': 10} ] 而不是 { 'results': [ {'a': 1, 'b': 2}, {'a': 5, 'b': 10} ]} 响应应用程序/json请求时。如何使用Jsonify在Flask中返回JSON列表?这对我很有用。您使用的是哪种版本的烧瓶 f
Flask
在jsonification列表时会引发错误
我知道可能有安全方面的原因,但我仍然希望有一种方法返回JSON列表,如下所示:
[
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
而不是
{ 'results': [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]}
响应
应用程序/json
请求时。如何使用Jsonify在Flask中返回JSON列表?这对我很有用。您使用的是哪种版本的烧瓶
from flask import jsonify
...
@app.route('/test/json')
def test_json():
list = [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
return jsonify(results = list)
jsonify
防止您在0.10及更低的烧瓶中执行此操作
无论如何,只要在Python标准库中使用json.dumps
你不能,但你可以这样做。我需要这个来上传jQuery文件
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')
josonify是有效的。但是,如果您只想传递一个没有'results'键的数组,那么可以使用python中的json库。下面的转换对我很有用
import json
@app.route('/test/json')
def test_json():
list = [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
return json.dumps(list))
解决了,没问题。您可以懒惰地使用jsonify,只需传入items=[您的列表] 看看这里的解决方案 Flask的
jsonify()
方法现在对顶级数组进行了序列化,从年开始,在Flask 0.11版以后提供
为了方便起见,您可以传入Python列表:jsonify([1,2,3])
或者传入一系列args
:jsonify(1,2,3)
两者都将序列化为JSON顶级数组:[1,2,3]
此处的详细信息:使用jsonify可以轻松地对烧瓶中的列表进行jsonify,如:
from flask import Flask,jsonify
app = Flask(__name__)
tasks = [
{
'id':1,
'task':'this is first task'
},
{
'id':2,
'task':'this is another task'
}
]
@app.route('/app-name/api/v0.1/tasks',methods=['GET'])
def get_tasks():
return jsonify({'tasks':tasks}) #will return the json
if(__name__ == '__main__'):
app.run(debug = True)
如果您正在flask中搜索返回JSON列表的方法,并且完全确定您的变量是一个列表,那么简单的方法是(其中bin是1和0的列表): 最后,在您的客户机中,您将获得
{“ans”:[0.0,0.0,1.0,1.0,0.0]}执行此操作时,我还需要手动设置标题的内容类型?是的,
application/json
@FogleBird哪个安全原因?@Jocelyndelalande:安全不再是一个有效的问题,所以Flask的jsonify
现在支持转储列表:我正在使用Flask 0.9,但它似乎会输出哈希json而不是列表json。建议不要使用list
作为变量的标识符还有Flask.json。转储不知道这是否比json好。dumps@CameronWhite-flask.json
try的简写:将simplejson作为json导入;除了ImportError:import json
+1 for mimetype='application/json',省去了我寻找相关标题的时间:)有趣的是,我在完全相同的情况下(jQuery文件上传)被困在这个问题上,你的代码在另一方面也帮了我。我最喜欢这个答案。根据我的经验,Response()
以一种比make\u Response()
更简单的方式公开mimetype,只需执行return json.dumps()
就不会设置任何头。jsonify({'tasks':tasks})
工作得很好这肯定为我节省了很多时间这不再是安全问题,但始终返回dict仍然被认为是最佳实践:
return jsonify({'ans':bin}), 201