猿问

如何克服“datetime.datetime不能JSON序列化”?

如何克服“datetime.datetime不能JSON序列化”?

我有一个基本的原则如下:

sample = {}sample['title'] = "String"sample['somedate'] = somedatetimehere

当我试着去做jsonify(sample)我得到:

TypeError: datetime.datetime(2012, 8, 8, 21, 46, 24, 862000) is not JSON serializable

我能做些什么使我的字典样本能够克服上面的错误?

注意:虽然它可能与此无关,但字典是通过从MongoDB检索记录生成的,当我打印出来时,这些记录都是从MongoDB中提取出来的。str(sample['somedate']),输出是2012-08-08 21:46:24.862000.


青春有我
浏览 600回答 3
3回答

慕哥9229398

我刚刚遇到了这个问题,我的解决方案是子类json.JSONEncoder:from datetime import datetimeimport jsonclass DateTimeEncoder(json.JSONEncoder):     def default(self, o):         if isinstance(o, datetime):             return o.isoformat()         return json.JSONEncoder.default(self, o)在你的电话里做如下的事情:json.dumps(yourobj, cls=DateTimeEncoder)这个.isoformat()我从上面的一个答案中得到的。
随时随地看视频慕课网APP

相关分类

Python
我要回答