여기서는 함수의 출력을 JSON 응답 개체로 변환하는 Python용 Flask 웹 프레임워크의 jsonify() 함수를 이해합니다. j와 비슷하네요 아들.덤프() Python 개체를 JSON 형식의 문자열로 변환하는 Python 표준 라이브러리의 함수입니다.
jsonify()란 무엇입니까?
jsonify() 함수는 JSON 응답에 대한 올바른 응답 헤더와 콘텐츠 유형을 자동으로 설정하고 경로 핸들러에서 JSON 형식의 데이터를 쉽게 반환할 수 있도록 해주기 때문에 Flask 앱에서 유용합니다. 이렇게 하면 JSON 데이터를 반환하는 API를 더 쉽고 편리하게 만들 수 있습니다.
jsonify() 함수의 구문
이 함수는 JSON 응답 객체로 변환될 데이터를 나타내는 하나 이상의 위치 인수와 JSON 응답 객체를 사용자 정의하는 데 사용되는 임의 개수의 키워드 인수를 사용합니다.
jsonify(*args, **kwargs)
인수 없이 jsonify()의 예
인수 없이 jsonify()를 사용할 수 있습니다. 이 경우 기본 상태 코드가 200(OK)이고 기본 콘텐츠 유형이 application/json인 빈 JSON 응답 객체가 반환됩니다.
파이썬3
knn
from> flask>import> Flask, jsonify> app>=> Flask(__name__)> @app>.route(>'/api/users'>)> def> get_users():> >return> jsonify()> |
>
>
인수가 있는 jsonify()의 예
이 예에서는 단일 위치 인수(사용자 개체 목록)와 상태 및 mimetype이 있는 두 개의 키워드 인수를 사용하여 jsonify()를 호출합니다. 상태 인수는 응답에 대한 HTTP 상태 코드를 설정하는 데 사용되고, mimetype 인수는 응답에 대한 콘텐츠 유형을 설정하는 데 사용됩니다.
파이썬3
리눅스 실행 cmd
from> flask>import> Flask, jsonify> app>=> Flask(__name__)> @app>.route(>'/api/users'>)> def> get_users():> >users>=> [{>'id'>:>1>,>'username'>:>'Alice'>}, {>'id'>:>2>,>'username'>:>'Bob'>}]> >return> jsonify(users, status>=>200>, mimetype>=>'application/json'>)> |
>
배열 목록 정렬
>
Flask의 jsonify() 메소드
이 예에는 사용자 개체 목록을 반환하는 경로가 있는 Flask 앱이 있습니다. 클라이언트가 이 경로에 요청하면 get_users() 함수가 실행되고 jsonify() 함수를 사용하여 사용자 개체 목록이 JSON 응답 개체로 변환됩니다. 그런 다음 이 JSON 응답 개체가 클라이언트로 다시 전송됩니다.
파이썬3
from> flask>import> Flask, jsonify> app>=> Flask(__name__)> @app>.route(>'/'>)> def> get_users():> >print>(>'Using jsonify'>)> >users>=> [{>'id'>:>1>,>'username'>:>'sweety'>},> >{>'id'>:>2>,>'username'>:>'pallavi'>}]> >return> jsonify({>'users'>: users})> if> __name__>=>=> '__main__'>:> >app.run()> |
>
>
기가바이트 대 메가바이트
산출:

jsonify() 메서드
Flask의 json.dumps() 메소드
반대로, json.dumps() 함수를 사용하려면 사용자 개체 목록을 JSON 형식 문자열로 직접 변환한 다음 적절한 응답 헤더를 설정하고 응답을 클라이언트에 수동으로 반환해야 합니다.
일반적으로 jsonify()를 사용하는 것이 json.dumps()를 사용하는 것보다 더 쉽고 편리하므로 Flask 앱에서는 가능하면 jsonify()를 사용하는 것이 좋습니다.
파이썬3
from> flask>import> Flask, Response> import> json> app>=> Flask(__name__)> @app>.route(>'/api/users'>)> def> get_users():> >users>=> [{>'id'>:>1>,>'username'>:>'sweety'>},> >{>'id'>:>2>,>'username'>:>'pandey'>}]> >response>=> Response(> >response>=>json.dumps(users),> >status>=>200>,> >mimetype>=>'application/json'> >)> >return> response> if> __name__>=>=> '__main__'>:> >app.run()> |
>
>
산출:
http://127.0.0.1:5000/api/사용자
자바 문자열 클래스
json.dumps() 대신 jsonify()를 사용하는 이유
Flask 앱에서 json.dumps() 함수 대신 jsonify() 함수를 사용하는 것이 권장되는 몇 가지 이유가 있습니다.
- jsonify()는 json.dumps()보다 더 편리하고 사용하기 쉽습니다. jsonify()는 간단하고 직관적인 구문을 가지고 있으며 데이터를 JSON 응답 개체로 변환하고 클라이언트에 반환하는 세부 사항을 자동으로 처리합니다. 대조적으로, json.dumps()는 이러한 세부 사항을 직접 처리해야 하므로 시간이 더 많이 걸리고 오류가 발생하기 쉽습니다.
- jsonify()는 JSON 응답에 대한 올바른 응답 헤더와 콘텐츠 유형을 자동으로 설정하지만 json.dumps()는 그렇지 않습니다. 즉, jsonify()를 사용할 때는 Content-Type 헤더를 application/json으로 수동으로 설정할 필요가 없지만 json.dumps()를 사용할 때는 수동으로 설정해야 합니다.
- jsonify()를 사용하면 경로 핸들러에서 JSON 형식의 데이터를 쉽게 반환할 수 있지만 json.dumps()는 그렇지 않습니다. jsonify()를 사용하면 경로 핸들러에서 JSON 응답 객체로 변환하려는 데이터를 간단히 반환할 수 있으며, 나머지는 jsonify()가 처리합니다. json.dumps()를 사용하면 데이터를 JSON 형식 문자열로 직접 변환한 다음 이를 Response 개체의 일부로 반환해야 합니다.
- 전반적으로 Flask 앱에서 json.dumps() 대신 jsonify()를 사용하면 JSON 데이터를 반환하는 API를 더 쉽고 편리하게 만들 수 있습니다. 이를 통해 JSON 응답의 형식 지정 및 반환에 대한 세부 사항을 걱정할 필요 없이 앱의 데이터와 논리에 집중할 수 있습니다.