解決 - Object of type 'datetime' is not JSON serializable


1、問題描述

使用python自帶的json,將數據轉換為json數據時,datetime格式的數據報錯:datetimeTypeError: datetime.datetime(2017, 3, 21, 2, 11, 21) is not JSON serializable。

2、解決方法

就是重寫構造json類,遇到日期特殊處理,其余的用內置的就行。

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) 

使用時,調用上面定義的函數即可,如下:
print json.dumps(self_data, cls=DateEncoder)  

---------------------

轉載:https://blog.csdn.net/suibianshen2012/article/details/64444030?utm_source=copy


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM