์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- Matplotlib ๊ธฐ์ด
- serverless
- streamlit
- ํ๋ค์ค
- ์๋ฐ์ด๋ณด
- Pandas
- MySQL
- java
- ์๋ฐ๊ธฐ์ด
- Streamlit๊ธฐ์ด
- ํ์ด์ฌ
- ์๋ฐ์คํฌ๋ฆฝํธ
- db
- JavaScript
- ํ์ด์ฌ๊ณต๋ถ
- ์๋ฐ๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ
- ์๋๋ก์ด๋ ์คํ๋์ค
- ํ๋ค์ค๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- Streamlit๊ธฐ๋ณธ
- RESTful API
- ์๋ฐ
- Android
- ์น๋์๋ณด๋ ์ ์
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Today
- Total
ruriruriya
[RESTful API] Python Flask - TypeError: Object of type Decimal is not JSON serializable ์๋ฌ ํด๊ฒฐ ๋ณธ๋ฌธ
[RESTful API] Python Flask - TypeError: Object of type Decimal is not JSON serializable ์๋ฌ ํด๊ฒฐ
๋ฃจ๋ฆฌ์ผใ 2023. 12. 13. 09:16TypeError: Object of type Decimal is not JSON serializable ์๋ฌ ํด๊ฒฐ
RESTful API ๋ง๋ค ๋ GET ๋ฐฉ์์ API ํจ์์์
'๋ฐ์ดํฐ ํ์
์ง๋ ฌํ'๋ผ๋ ์๋ฌ๊ฐ ๋ฌ๋ค.
์์ธ
๊ทธ๋์ MySQL์์ ์์์ ์ JSON์ผ๋ก ๊ฐ์ ธ์ค์ง ๋ชปํ ๋ ๋๋ ์๋ฌ๋ผ๊ณ ๋ค๋ฅธ ๋ธ๋ก๊ทธ์์ ๋ดค๋ค.
๊ทธ๋์ ๊ทธ ์์์ ์๋ ์ปฌ๋ผ์ ์ ์ธํ๊ณ ๋ค์ ํด๋ณด๋ ๋์ํ๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ 01
ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฑ๊ณต ์ ๋ฆฌํดํ ๋ items์ ๊ฒฐ๊ณผ ๊ฐ์ str๋ก ํ๋ฒ ์์ฐ๋ ๊ฒ์ผ๋ก ํด๊ฒฐ์ด ๋์๋ค....
์ข์ ํด๊ฒฐ๋ฐฉ๋ฒ์ธ์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค.
return {'result' : 'success',
'items':str(result_list),
'count': len(result_list)}, 200
ํด๊ฒฐ๋ฐฉ๋ฒ 02
๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ํด๋น ๋ณ์ ๋ถ๋ถ์ print ํด์ ๋ณด๋ ๊ฒ์ด๋ค.
'rating_avg'๋ฅผ ๋ณด๋ Decimal(-) ์ด๋ ๊ฒ ๋์์ ๋ฌธ์๋ ์ซ์๋ก ๋ณด์ด์ง ์์ ๋ฐ์ํ๋ ๊ฒ์ด์๋ค.
{'id': 3, 'title': 'Babes in Toyland', 'summary': 'Curabitur convallis. Duis consequat dui nec
nisi volutpat eleifend. Donec ut dolor.', 'imageUrl': None, 'genre': 'Children|Fantasy|Musical',
'year': '2003-05-06T00:00:00', 'attendance': 79006, 'createdAt': '2023-12-04T07:37:10',
'rating_avg': Decimal('4.5000'), 'review_cnt': 4}
127.0.0.1 - - [13/Dec/2023 09:50:58] "GET /movie/3 HTTP/1.1" 500 -
ํด๊ฒฐ ๋ฐฉ๋ฒ์ Decimal์ float ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด์ ํด๊ฒฐ์ด ๋์๋ค.
i = 0
for row in result_list :
result_list[i]['rating_avg']= float(row['rating_avg'])
# TypeError: Object of type Decimal is not JSON serializable
i = i + 1