无法使用python和trac将字典中的datetime.datetime对象序列化为JSON
我有一个字典列表(每个字典代表一个SQL查询的一条记录),我正试图将其序列化为JSON。这些字典中有几个datetime.date和datetime.datetime对象,很难序列化。最初,错误消息是:无法使用python和trac将字典中的datetime.datetime对象序列化为JSON,json,python-2.7,trac,Json,Python 2.7,Trac,我有一个字典列表(每个字典代表一个SQL查询的一条记录),我正试图将其序列化为JSON。这些字典中有几个datetime.date和datetime.datetime对象,很难序列化。最初,错误消息是: TypeError: datetime.date(2012, 5, 23) is not JSON serializable TypeError: date_handler() takes exactly 1 argument (2 given) 将处理程序添加到json.dumps调用后,
TypeError: datetime.date(2012, 5, 23) is not JSON serializable
TypeError: date_handler() takes exactly 1 argument (2 given)
将处理程序添加到json.dumps调用后,错误消息为:
TypeError: datetime.date(2012, 5, 23) is not JSON serializable
TypeError: date_handler() takes exactly 1 argument (2 given)
日期处理程序如下所示:
def date_handler(obj):
return obj.isoformat() if hasattr(obj, 'isoformat') else obj
我将此作为Trac插件的一部分运行,但我认为这只是一个孤立的python问题,但不知道如何对其进行排序-有人有什么想法吗?查看域。我通过应用
.isoformat()解决了这个问题
当我从数据库导入数据时,这些字段是字典中的日期或时间戳,因此事先知道字段类型,谢谢您的帮助 可以提供更多的见解/选项,至少是初步解决方案。有一些与时区支持相关的评论。