Я конвертирую sql результат в файл JSON. Один из столбцов имеет тип данных «Дата». Я получаю следующую ошибку: «TypeError: Объект типа date не является сериализуемым JSON.»
Я использую параметр «default» в «json.dump» для преобразования его в строку. Я создал функцию, которая будет конвертировать datetime.date в str. Ему нужен параметр объекта. Я не знаю, как передать этот объект из функции 'json.dump'.
def runQuery(self):
cur = self.db_connect().cursor()
cur.execute(self.query)
result = [dict((cur.description[i][0], value) \
for i, value in enumerate(row)) for row in cur.fetchall()]
cur.connection.close()
return result
def jsonFile(self):
with open(self.file, 'w') as f:
json.dump(self.runQuery(), f, default=self.dataTypeConvert())
def dataTypeConvert(self, o):
if isinstance(o, datetime.date):
return o.__str__()
Без передачи значения 'o' в dataTypeConvert он не запустится. Я не уверен, какое именно значение 'o' необходимо передать для преобразования объекта в строку и как?