IT이야기

json.dll vs flask.jsonify

cyworld 2022. 3. 17. 21:27
반응형

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

반응형