๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[RESTful API] Python MySQL- TypeError : Object of type datetime is not JSON serializable ๋ฐœ์ƒ ์›์ธ๊ณผ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ๋ณธ๋ฌธ

๐ŸžDebugging Story

[RESTful API] Python MySQL- TypeError : Object of type datetime is not JSON serializable ๋ฐœ์ƒ ์›์ธ๊ณผ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

๋ฃจ๋ฆฌ์•ผใ…‘ 2023. 12. 7. 11:45
๋ฐ˜์‘ํ˜•

RESTful API ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ GETํ•  ๋•Œ

TypeError : Object of type datetime is not JSON serializable ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

 

1. ๋ฐœ์ƒ์›์ธ

datetime ์€ ํŒŒ์ด์ฌ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐํƒ€์ž…์œผ๋ฏ€๋กœ json ํ˜•์‹์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์˜จ ์—๋Ÿฌ

 

2. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

๋”ฐ๋ผ์„œ json์€ ๋ฌธ์ž์—ด์ด๋‚˜ ์ˆซ์ž๋งŒ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ํŒŒ์ด์ฌ์˜ datetime ํƒ€์ž…์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค.

from flask import request
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error

class RecipeListResource(Resource):
   
    def get(self) :
        
        ## ์ค‘๊ฐ„ ์ƒ๋žต ##
        
            # datetime์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค.โ˜…

            i = 0
            for row in result_list :
                result_list[i]['created_at']= row['created_at'].isoformat()
                result_list[i]['updated_at']= row['updated_at'].isoformat()
                i = i + 1

           ## ์ดํ•˜ ์ƒ๋žต ##

 

๋ฐ˜์‘ํ˜•