首頁 >後端開發 >Python教學 >如何處理 Python 中的「datetime.datetime not JSON可序列化」錯誤?

如何處理 Python 中的「datetime.datetime not JSON可序列化」錯誤?

Linda Hamilton
Linda Hamilton原創
2024-12-08 17:25:111051瀏覽

How Can I Handle

日期時間物件的JSON 序列化

嘗試對包含日期時間物件的字典進行jsonify 時遇到「datetime.datetime 不可JSON序列化」錯誤,突出顯示需要解決Python 日期時間類型的JSON 序列化限制。為了有效解決這個問題,提出了以下解決方案:

可自訂的 JSON 序列化方法允許將不可序列化的物件(例如日期時間)轉換為 JSON 相容的格式。透過利用 json.dumps() 中的預設參數,您可以定義一個處理日期時間物件轉換的函數。

例如,可以實作一個將日期時間物件轉換為字串的簡單預設函數,如下所示:

def convert_datetime(o):
    if isinstance(o, datetime):
        return str(o)
    return o

透過將此函數作為預設參數傳遞給json.dumps(),您可以確保日期時間物件轉換為字串並序列化成功:

json.dumps(sample, indent=4, sort_keys=True, default=convert_datetime)

此方法提供了一種靈活且可自訂的解決方案,用於將複雜的數據結構(包括包含日期時間物件的資料結構)序列化為JSON 格式。

以上是如何處理 Python 中的「datetime.datetime not JSON可序列化」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn