使用python自帶的json,將數(shù)據(jù)轉(zhuǎn)換為json數(shù)據(jù)時,datetime格式的數(shù)據(jù)會報錯,出現(xiàn)如下錯誤提示:datetimeTypeError: datetime.datetime.now() is not JSON serializable。
創(chuàng)新互聯(lián)公司服務(wù)項目包括來鳳網(wǎng)站建設(shè)、來鳳網(wǎng)站制作、來鳳網(wǎng)頁制作以及來鳳網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,來鳳網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到來鳳省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
這是因為python自帶的json無法處理,只好重寫構(gòu)造json類,遇到日期特殊處理,其余的用內(nèi)置的就行。
代碼:
import json
import datetime
class DateEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime("%Y-%m-%d")
else:
return json.JSONEncoder.default(self, obj)
調(diào)用:
print(json.dumps(source_data, cls=DateEncoder) )