我正在将sql结果转换为JSON文件。列之一具有“日期”数据类型。我收到以下错误:'TypeError:日期类型的对象不可JSON序列化。'
我正在使用'json.dump'中的'default'参数将其转换为字符串。我创建了一个将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__()
在dataTypeConvert中不传递值'o'不会运行。我不确定将对象转换为字符串需要传递的'o'的确切值是什么?