python

超轻量级php框架startmvc

python2.7 json 转换日期的处理的示例

更新时间:2020-05-23 12:42:01 作者:startmvc
python2.7中集成了json的处理(simplejson),但在实际应用中,从mysql查询出来的数据,通常有日

python2.7中 集成了json的处理(simplejson),但在实际应用中,从mysql查询出来的数据,通常有日期格式,这时候,会报一个错:

TypeError: datetime.datetime(2007, 7, 23, 12, 24, 25) is not JSON serializable

说明日期转换出问题,后来再网上找到了解决办法。


import json
from datetime import date, datetime


def __default(obj):
 if isinstance(obj, datetime):
 return obj.strftime('%Y-%m-%dT%H:%M:%S')
 elif isinstance(obj, date):
 return obj.strftime('%Y-%m-%d')
 else:
 raise TypeError('%r is not JSON serializable' % obj)

print json.dumps({
 'd': datetime.now(), 
 'today': date.today(), 
 'x': 111
 }, default=__default)

采用类似的方式,在得到mysql数据集后,需要序列化时,用如下方式就可以了。 


conn=self.getConnection();
cursor=conn.cursor();
cursor.execute(sqlText,params);
result=cursor.fetchall()
jsonstr=json.dumps(myresult,default=__default)
print jsonstr

关键点在于覆盖了default 方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python2.7 json 转换日期 python2.7 json 日期