HOWTO · Flask
플라스크 jsonify
이 가이드는 jsonify가 무엇인지 확인하고 플라스크에 덤프합니다.
이 가이드는 jsonify가 무엇인지 확인하고 flask에서 덤프합니다. flask.jsonify 및 json.dump의 용도는 무엇이며 차이점은 무엇입니까?
그럼 더 이상 기다리지 않고 바로 들어가 보겠습니다.
flask.jsonify() 및 json.dumps() 사용
이 두 함수 사이에는 약간의 차이만 있기 때문에 flask.jsonify()와 json.dumps()를 혼동하는 사람들이 점점 더 많아지는 것 같습니다.
작동 방식 측면에서 둘 사이의 차이점은 처음에 보이는 것처럼 어렵지 않습니다.
이러한 차이점을 쉽게 이해할 수 있도록 json.dumps() 및 flask.jsonify()를 사용해야 하는 주요 질문에 답해 보겠습니다. 그러나 먼저 json.dumps()가 무엇인지 살펴보겠습니다.
json.dumps() 메서드
먼저 JSON 파일을 읽거나 쓰는 동안 json 패키지를 사용해야 합니다. 이 패키지에는 Python으로 작성된 데이터를 JSON 파일로 변환하는 json.dumps()라는 메서드가 포함되어 있습니다.
이 메서드는 Python으로 작성된 모든 데이터를 변환하고 문자열로 반환하며 이제 JSON 파일로 읽힙니다.
json.dumps() 메서드의 예는 도시 목록의 이름을 지정하는 데 사용됩니다.
@app.route("/") # display on "home" page
def list_of_cities_dumps():
cities = [
{"name": "Central City", "country": "USA"},
{"name": "Ottawa", "country": "Canada"},
]
return json.dumps(
cities
) # json.dump() method is being used to call the list of cities
if __name__ == "__main__":
app.run(debug=True)
출력:
[{'name': 'Central City', 'country': 'USA'}, {'name': 'Ottawa', 'country': 'Canada'}]
위의 예와 같이 도시 목록의 출력이 표시됩니다. 읽을 수 있지만 사용자가 학교 학생에 대한 데이터를 가지고 있다고 상상해보십시오.
명확한 데이터 구성이 없기 때문에 이 방법을 사용하면 학생을 구분하기 어려울 것입니다.
그래서 이 결함을 극복하기 위해 flask.jsonify() 함수가 도입되었습니다.
flask.jsonify() 함수
flask.json 모듈에서 jsonify는 Flask의 함수입니다. Flask 프레임워크를 사용할 때 HTTP 응답으로 데이터를 보내려면 flask.jsonify() 함수를 사용해야 합니다.
이 기능을 사용하려면 flask를 가져와야 합니다.
이 함수는 데이터를 JSON 파일로 변환한 다음 서버가 클라이언트 요청에 응답하는 데 사용되는 응답 개체를 반환합니다.
변환된 JSON 파일은 새로 생성된 응답 객체에 추가됩니다. 콘텐츠 유형 헤더 필드를 application/JSON으로 설정하면 일반적으로 미디어 유형으로 알려진 적절한 MIME 유형도 추가됩니다.
미디어 유형 또는 MIME 유형과 함께 파일을 보낼 때 메시지와 함께 파일 유형을 나타냅니다.
위의 동일한 예를 통해 flask.jsonify()의 작업을 더 자세히 이해해 보겠습니다.
@app.route("/") # displays on the "home" page
def list_of_cities():
cities = [
{"name": "Central City", "country": "USA"},
{"name": "Ottawa", "country": "Canada"},
]
return jsonify(
cities
) # the function jsonify is used here to call the list of cities
if __name__ == "__main__":
app.run(debug=True)
출력:
[
{
"country": "USA",
"name": "Central City"
},
{
"country": "Canada",
"name": "Ottawa"
}
]
출력에서 볼 수 있듯이 도시 목록의 출력은 json.dumps() 메서드를 사용했을 때와 비교하여 구성되고 이해하기 쉽습니다.
아래 코드는 두 예제의 조합입니다.
from flask import Flask, jsonify
import json
app = Flask(__name__)
@app.route("/")
def list_of_cities():
cities = [
{"name": "Central City", "country": "USA"},
{"name": "Ottawa", "country": "Canada"},
]
return jsonify(cities)
@app.route("/1")
def list_of_cities_dumps():
cities = [
{"name": "Central City", "country": "USA"},
{"name": "Ottawa", "country": "Canada"},
]
return json.dumps(cities)
if __name__ == "__main__":
app.run(debug=True)