Объект типа datetime не является СЕРИАЛИЗУЕМЫМ в формате JSON
как сериализовать объект даты и времени в python api
у меня есть api, который даст вывод json, и я пытаюсь сохранить его как excel с помощью xlsxwriter, и я получаю эту ошибку
Object of type datetime is not JSON serializable
это выход api
Цитата:"sub_start_date_end_date": [
{
"column_name": "страна",
"column_value": "'США'",
"display_text": "страна",
"end_date": "Пт, 03 сентября 2021 года 00:00:00 GMT",
"start_date": "Чт, 03 сентября 2020 00:00:00 GMT"
}
]
Что я уже пробовал:
@final.route('/start_date-end_date', methods=['GET']) def subscription_date(): subscription_id = request.args.get('subscription_id') email = request.args.get('email') update_query = ''' query ''' result = db.session.execute(text(update_query), {'a':email}) final = [dict(i) for i in result] excel = json.dumps(final) efile = json.load(excel, indent=4, cls=DateTimeEncoder) workbook = xlsxwriter.Workbook('myfile.xlsx') worksheet = workbook.add_worksheet() row = 0 col = 0 for key in efile: row += 1 worksheet.write(row, col, key) worksheet.write(row, col + 1, efile[key]) print(workbook) workbook.close() return{"sub_start_date_end_date":final} class DateTimeEncoder(JSONEncoder): def default(self, obj): if isinstance(obj, (datetime.start_date, datetime.end_date)): return obj.isoformat()