[英]Getting error datetime.date(2018, 6, 12) is not JSON serializable in Python
我正在嘗試使用Flask-Ask並創建一個Alexa技能。 我在將日期和時間存儲到json時遇到問題
以下是錯誤
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: datetime.date(2018, 6, 12) is not JSON serializable
以下是代碼段
@ask.intent("BookDateConfirmIntent")
def booking_confirmed(confirm_date):
start_date = session['attributes']['startDate']
data = {'services': '1234a', 'startDate': start_date, 'message': 'booking confirmed'}
print json.dumps(data, indent=4, sort_keys=True, default=str)
通過的日期如2018-06-12
我讀到我們需要序列化這個並且我無法使其正常工作以滿足上述代碼要求。 有人請幫忙。 謝謝
您可以嘗試將datetime
object
類型轉換為string
。
將start_date
更改為str(start_date)
。
無論你是在考慮當前的約會時間還是某些特定時間都無關緊要。 重要的是type(start_date)
是datetime.date
。
你可以嘗試這樣的事情:
def myconverter(o):
if isinstance(o, datetime.date):
return "{}-{}-{}".format(o.year, o.month, o.day)
def booking_confirmed(confirm_date):
start_date = myconverter(session['attributes']['startDate'])
data = {'services': '1234a', 'startDate': start_date, 'message': 'booking confirmed'}
print json.dumps(data, indent=4, sort_keys=True, default=str)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.