您好,登錄后才能下訂單哦!
使用python自帶的json,將數(shù)據(jù)轉(zhuǎn)換為json數(shù)據(jù)時(shí),datetime格式的數(shù)據(jù)會(huì)報(bào)錯(cuò),出現(xiàn)如下錯(cuò)誤提示:datetimeTypeError: datetime.datetime.now() is not JSON serializable。
這是因?yàn)閜ython自帶的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) )
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。