我在postgresql中创建了一个表,使用下面的代码:
create table spyResults (id serial not null primary key, info jsonb not null);
现在,在Python中我想将数据插入到该表中。我正在使用以下代码传递数据:
cur.execute("INSERT INTO %s(info) VALUES (%s)",[AsIs('spyResults'),json.dumps(pDoc)])
pDoc
是Python字典,现在我将其转换为json
并传递给查询,但问题出在我们的pDoc
字典中:
datetime.datetime(2018, 3, 8, 10, 29, 49, 178285) also
当我尝试插入时,我们收到以下错误:
datetime.datetime(2018, 3, 8, 10, 29, 49, 178285) is not JSON serializable
请建议如何解决此问题。感谢。
编辑:它不是重复的问题,因为我们没有将datetime对象作为参数,它在字典中出现,我们能够将pDoc asis插入mongodb,我期待与postgreSQL一样。
答案 0 :(得分:1)
json
无法开箱即用。最简单的解决方案是传递datetime
对象或字符串,如果您希望使用其他格式,可以使用your_datetime_object.isoformat()
或strftime
方法实现。