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