티스토리 뷰



Flask jsonify 에서 Decimal Serializable Error


TypeError: Decimal('0.10') is not JSON serializable error


파이썬에서 Flask 로 Json 데이터를 추출하고자 할 때 위와 같은 에러가 발생할 경우가 있다.

Flask에 내장되어 있는 함수로 jsonify를 활용하는데,  Decimal 객체 형태의 숫자 값을 직렬화하는데 나는 에러라고 볼 수 있다.


http://stackoverflow.com/questions/24706951/how-to-convert-all-decimals-in-a-python-data-structure-to-string


에서 처럼 별도의 Encoder를 구현해서, 해결하는 방법도 있다.



찾아보니 가장 간단한 방법은, simplejson 패키지를 설치하는 것이다.


https://github.com/pallets/flask/issues/835

위 링크에서 확인해 볼 수 잇듯이,, 


simplejson 패키지를 설치하면, Flask.json.jsonify 함수에서 자동으로, 기본 라이브러리가 아닌 simplejson 을 활용한다고, 설명하고 있다.

적용을 해보니, 에러가 사라졌다. 


다른 분들에게도 도움이 되기를.. 허무..

댓글