python2.7 json 转换日期的处理
By:Roy.LiuLast updated:2012-02-03
	    
	        python2.7中 集成了json的处理(simplejson),但在实际应用中,从mysql查询出来的数据,通常有日期格式,这时候,会报一个错:
TypeError: datetime.datetime(2007, 7, 23, 12, 24, 25) is not JSON serializable
说明日期转换出问题,后来再网上找到了解决办法。
采用类似的方式,在得到mysql数据集后,需要序列化时,用如下方式就可以了。
关键点在于覆盖了default 方法。
	        
	    
	    
	    
	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 方法。
From:一号门
Previous:发布一个商场超市管理系统

COMMENTS