python2.7中 集成了json的處理(simplejson),但在實際應用中,從mysql查詢出來的數據,通常有日期格式,這時候,會報一個錯:
TypeError: datetime.datetime(2007, 7, 23, 12, 24, 25) is not JSON serializable
說明日期轉換出問題,后來再網上找到了解決辦法。
import jsonfrom datetime import date, datetimedef __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 方法。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答