无法使用python和trac将字典中的datetime.datetime对象序列化为JSON

时间:2012-07-17 14:37:21

标签: json python-2.7 trac

我有一个字典列表(每个字典代表一条SQL查询记录),我试图将其序列化为JSON。这些字典中有几个datetime.date和datetime.datetime对象,这些对象很难序列化。最初,错误消息是:

TypeError: datetime.date(2012, 5, 23) is not JSON serializable

在json.dumps中添加处理程序后,调用错误消息:

TypeError: date_handler() takes exactly 1 argument (2 given)

date_handler看起来像这样:

    def date_handler(obj):
        return obj.isoformat() if hasattr(obj, 'isoformat') else obj

我将此作为Trac插件的一部分运行但是我认为这只是一个孤立的python问题,但不知道如何对其进行排序 - 有没有人有任何想法?

2 个答案:

答案 0 :(得分:2)

我通过在数据库中应用日期或时间戳的.isoformat()字段解决了这个问题,因为我正在从数据库导入数据,因此请事先了解字段类型,感谢您的帮助!

答案 1 :(得分:0)

查看solution from the Django域名。