溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python 自帶Json處理日期格式出錯(cuò)

發(fā)布時(shí)間:2020-08-10 14:09:35 來源:網(wǎng)絡(luò) 閱讀:873 作者:AlunE 欄目:編程語言

使用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)  )
向AI問一下細(xì)節(jié)

免責(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)容。

AI