Python datetime 轉 JSON
Python 中將 datetime 轉換為 JSON 類型,在使用 Django 時遇到的問題。
環境:
Python2.7
代碼:
import json
import datetime
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, datetime.date):
return obj.strftime('%Y-%m-%d')
else:
return json.JSONEncoder.default(self, obj)
d = {
"now": datetime.datetime.now()
}
# 轉換發生異常
try:
json.dumps(d)
except Exception as e:
print(e)
# 指定 cls 參數,轉換成功
str_json = json.dumps(d, cls=ComplexEncoder)
print(str_json)