Flask에서 목록을 어떻게`jsonify`합니까? [복제]
이 질문에 이미 답변이 있습니다.
- Flask보기에서 JSON 응답 반환 8 답변
현재 Flask
목록을 jsonifying 할 때 오류가 발생합니다.
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 목록을 반환하려면 어떻게해야합니까?
jsonify
보안상의 이유로 Flask 0.10 이하에서이 작업을 수행하지 못하도록합니다 .
어쨌든 그렇게하려면 json.dumps
Python 표준 라이브러리에서 사용 하십시오.
http://docs.python.org/library/json.html#json.dumps
당신은 할 수 없지만 어쨌든 이렇게 할 수 있습니다. 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')
이것은 나를 위해 일하고 있습니다. 어떤 버전의 Flask를 사용하고 있습니까?
from flask import jsonify
...
@app.route('/test/json')
def test_json():
list = [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
return jsonify(results = list)
Flask의 jsonify()
메서드는 이제 Flask 0.11 이상에서 사용할 수있는 이 commit 에서 최상위 배열을 직렬화 합니다.
편의를 위해 Python 목록을 jsonify([1,2,3])
전달하거나 일련의 args
다음을 전달할 수 있습니다 .jsonify(1,2,3)
둘 다 JSON 최상위 배열로 직렬화됩니다. [1,2,3]
세부 정보 : http://flask.pocoo.org/docs/dev/api/#flask.json.jsonify
소란스럽지 않고 해결되었습니다. 게으르고 jsonify를 사용할 수 있습니다. items = [your list]를 전달하기 만하면됩니다.
여기에서 해결책을 찾으십시오.
https://github.com/mitsuhiko/flask/issues/510
플라스크의 목록은 다음 과 같이 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)
If you are searching literally the way to return a JSON list in flask and you are completly sure that your variable is a list then the easy way is (where bin is a list of 1's and 0's):
return jsonify({'ans':bin}), 201
Finally, in your client you will obtain something like
{ "ans": [ 0.0, 0.0, 1.0, 1.0, 0.0 ] }
josonify works..but if you intend to just pass an array without the 'results' key, you can use json library from python. The following conversion works for me..
import json
@app.route('/test/json')
def test_json():
list = [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
return json.dumps(list))
참고URL : https://stackoverflow.com/questions/12435297/how-do-i-jsonify-a-list-in-flask
'programing tip' 카테고리의 다른 글
querySelector 직계 자식 검색 (0) | 2020.10.05 |
---|---|
Facelets의 EL 부울 표현식에서 &&를 사용하는 방법은 무엇입니까? (0) | 2020.10.05 |
Firefox에서 파일 다운로드 대화 상자에 액세스 (0) | 2020.10.05 |
Python 2.4에서 파일을 안전하게 열고 닫는 방법 (0) | 2020.10.05 |
C 및 C ++에서 다르게 작동하는 열거 형 상수 (0) | 2020.10.05 |