flask customencoder

Jinhyeon Son·2020년 6월 7일
0

정리

목록 보기
17/17

flask의 jsonify 내장함수는 flask의 jsonserializer역할을 하는데

string형태로 출력하는 기능을 내장하지 않은 데이터타입의 경우

serializer 에러를 볼 수 있다

이 때

class JsonCustomEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, bytes):
            return obj.decode("utf-8")

        if isinstance(obj, datetime.datetime):
            return obj.strftime("%Y-%m-%d %H:%M:%S")
        return json.JSONEncoder.default(self, obj)

위와 같이 JSONencoder를 상속받아 특정 객체에 대한 행동을 정의해 주고 난 뒤

    app = Flask(__name__)
    CORS(app)
    app.config['JSON_SORT_KEYS'] = False
    app.json_encoder = JsonCustomEncoder

app에 encoder를 입력시키면 jsonify에서 encode할 수 없었던 객체에 대한
serialization이 가능해진다

0개의 댓글