TIL: Flask Custom Json Encoder
TIL: Flask Custom Json Encoder
Flask에서 JSON을 Encoding할때 (jsonify를 사용하여) date가 ‘yyyy-mm-dd’형태가 아닌 다른 형태로 만들어줘 곤란한 경험이 있었다. 그런 경우 아래와 같은 custom encoder를 제작해주면 된다.
class CustomJSONEncoder(JSONEncoder):
def default(self, obj):
try:
if isinstance(obj, date):
return obj.isoformat()
iterable = iter(obj)
except TypeError:
pass
else:
return list(iterable)
return JSONEncoder.default(self, obj)
이렇게 만든 후, app에다 적용시켜주면 편리하게 완료 가능하다.
app = Flask(__name__)
app.json_encoder = CustomJSONEncoder
Reference
https://stackoverflow.com/questions/43663552/keep-a-datetime-date-in-yyyy-mm-dd-format-when-using-flasks-jsonify