json.dll vs flask.jsonify
그 취지를 잘 알 수 있을지 모르겠다.flask.jsonify
방법의여기서 JSON 문자열을 만들려고 한다.
data = {"id": str(album.id), "title": album.title}
하지만 내가 얻는 것은json.dumps
나와는 다르다.flask.jsonify
.
json.dumps(data): [{"id": "4ea856fd6506ae0db42702dd", "title": "Business"}]
flask.jsonify(data): {"id":…, "title":…}
분명히 나는 그것과 더 비슷한 결과를 얻어야 한다.json.dumps
돌아온다내가 뭘 잘못하고 있는 거지?
그jsonify()
플라스크의 함수는 a를 반환한다.flask.Response()
json 응답과 함께 사용할 수 있는 적절한 컨텐츠 유형 헤더 'application/json'이 이미 있는 개체.반면에, 그.json.dumps()
메소드는 인코딩된 문자열만 반환하며, MIME 유형 헤더를 수동으로 추가해야 한다.
에 대한 자세한 내용을 참조하십시오.jsonify()
여기서 완전한 참조를 위해 기능한다.
편집: 또한, 나는 이 사실을 알아차렸다.jsonify()
kwarg 또는 사전을 취급하는 동안json.dumps()
추가적으로 목록 등을 지원한다.
다음 작업을 수행할 수 있음:
flask.jsonify(**data)
또는
flask.jsonify(id=str(album.id), title=album.title)
이것은flask.jsonify()
def jsonify(*args, **kwargs):
if __debug__:
_assert_have_json()
return current_app.response_class(json.dumps(dict(*args, **kwargs),
indent=None if request.is_xhr else 2), mimetype='application/json')
그json
사용되는 모듈은 다음 중 하나임simplejson
또는json
그 차례로. current_app
에 대한 언급이다Flask()
목적어, 즉 당신의 지원서. response_class()
에 대한 언급이다Response()
계급의
한 사람 또는 다른 사람의 선택은 당신이 무엇을 의도하느냐에 달려 있다.내가 아는 바로는:
jsonify는 당신이 API를 구축할 때 유용할 것이다. 누군가가 질의하고 그 대가로 json을 기대할 것이다.예: REST Github API는 이 방법을 사용하여 요청에 응답할 수 있다.
덤프(dump, dump)는 데이터/데이터 개체를 json으로 형성하고 애플리케이션 내에서 작업하는 것에 더 가깝다.예를 들어, Javascript가 그래프를 표시하는 내 표현 계층에 개체를 전달해야 한다.덤프에서 생성된 Json으로 Javascript를 먹일 것이다.
고려하다
data={'fld':'hello'}
지금 당장
jsonify(data)
{'fld':'hello'}을(를) 산출할 것이며
json.dumps(data)
주다
"<html><body><p>{'fld':'hello'}</p></body></html>"
참조URL: https://stackoverflow.com/questions/7907596/json-dumps-vs-flask-jsonify
'IT이야기' 카테고리의 다른 글
Python에서 사전 키를 목록으로 반환하는 방법? (0) | 2022.03.17 |
---|---|
react-reaction-remedx 대 connected-remed-remessage for reaction (0) | 2022.03.17 |
기본 스타일시트 대응: {flex:1}의 기능은? (0) | 2022.03.17 |
Python 수퍼()가 TypeError를 발생시킴 (0) | 2022.03.17 |
VueJS 확장 구성 요소: 상위 속성 제거 (0) | 2022.03.17 |