Python 與JavaScript 之間的JSON 日期時間
使用JSON 在Python 和JavaScript 之間交換日期時間物件可能具有挑戰性,因為它們各自的日期和時間存在差異時間格式。為了解決這個問題,我們可以實作自訂 JSON 序列化和反序列化處理程序。
在 Python 中,您可以使用 json.dumps 函數中的預設參數定義序列化處理程序函數。只要在序列化過程中遇到日期時間對象,就會呼叫此處理程序。以下程式碼片段示範如何為日期時間物件建立處理程序,將其轉換為 ISO 8601 格式:
date_handler = lambda obj: (
obj.isoformat()
if isinstance(obj, (datetime.datetime, datetime.date))
else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
這會將日期時間物件輸出為ISO 8601 格式的字串:
"2010-04-20T20:08:21.634121"
在JavaScript中,您可以使用自訂反序列化處理程序將接收的 ISO 8601 字串轉換回日期時間物件。全面的反序列化處理函數可能如下所示:
function handler(obj) {
if (typeof obj === 'string') {
if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
// ISO 8601 Date string
return new Date(obj);
}
}
return obj;
}
透過使用這些自訂處理程序,您可以使用 JSON 在 Python 和 JavaScript 之間無縫交換日期時間對象,從而確保兩個平台之間的兼容性。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3