Flask에서 목록을 'jsonify'하려면 어떻게 해야 합니까?
현재의Flask목록 지정 시 오류가 발생합니다.
보안상의 이유인 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를 사용하여 플라스크에 JSON 목록을 반환하려면 어떻게 해야 합니까?
안 되는데 이렇게 해도 돼요.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')
jsonify보안상의 이유로 Flask 0.10 이하에서는 이 작업을 수행할 수 없습니다.
어쨌든 하려면 그냥json.dumpsPython 표준 라이브러리에 있습니다.
http://docs.python.org/library/json.html#json.dumps
이건 나한테 효과가 있어.어떤 버전의 플라스크를 사용하시나요?
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()method는 이제 이 커밋 시점부터 최상위 어레이를 시리얼화하며 Flask 0.11 이후부터 사용할 수 있습니다.
편의를 위해 Python 목록을 전달할 수 있습니다.jsonify([1,2,3])또는 일련의 패스args:jsonify(1,2,3)
둘 다 JSON 최상위 어레이로 시리얼화됩니다.[1,2,3]
상세내용은 이쪽:https://flask.palletsprojects.com/en/2.2.x/api/?http=jsonify#http.jsonify*
해결됐어, 야단법석 떨지 마.jsonify를 사용하면 귀찮을 수 있으므로 아이템=[목록]을 전달하기만 하면 됩니다.
솔루션을 보려면 여기를 참조하십시오.
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)
말 그대로 플라스크에서 JSON 목록을 반환하는 방법을 검색하고 변수가 목록임을 완전히 확신하는 경우 가장 쉬운 방법은 다음과 같습니다(여기서 bin은 1과 0의 목록입니다).
return jsonify({'ans':bin}), 201
마지막으로 클라이언트에서는 다음과 같은 정보를 얻을 수 있습니다.
{ "ans" : [ 0.0, 0.0, 1.0, 1.0, 0.0 ] }
조소니파이 작업...그러나 'results' 키 없이 어레이를 전달하려는 경우 python에서 JSON 라이브러리를 사용할 수 있습니다.저는 다음 변환이 좋습니다.
import json
@app.route('/test/json')
def test_json():
mylist = [
{'a': 1, 'b': 2},
{'a': 5, 'b': 10}
]
return json.dumps(mylist)
언급URL : https://stackoverflow.com/questions/12435297/how-do-i-jsonify-a-list-in-flask
'programing' 카테고리의 다른 글
| React에서 불변성 도움말을 사용하여 변수 개체 키 설정 (0) | 2023.04.01 |
|---|---|
| json type 열에 필드가 있는지 확인합니다.SQL (0) | 2023.04.01 |
| This.props.dispatch는 함수가 아닙니다(React-Redux). (0) | 2023.04.01 |
| 재료 UI 대화상자 머리글 오른쪽 상단 모서리에 닫기 아이콘을 추가하는 방법 (0) | 2023.04.01 |
| JSON의 .d는 무엇을 의미합니까? (0) | 2023.04.01 |