JavaScript中Date對象的作用已經被大家所熟知,它是用來表示時間的一個內置對象。在Web開發中,經常需要將Date對象轉換為JSON格式或者從JSON格式的數據中解析Date對象。本文將會介紹如何將Date對象轉換為JSON以及如何從JSON格式中解析Date對象。
將Date對象轉換為JSON格式非常簡單。直接使用JSON.stringify()方法即可。例如:
var date = new Date(); var json = JSON.stringify(date); console.log(json); //輸出結果:"2021-10-20T02:31:22.098Z"
可以看到,轉換后的JSON格式的時間字符串是ISO 8601格式的時間字符串。這種格式的時間字符串在JavaScript中是很常見的,它可以被各種瀏覽器、服務器端語言以及其他編程語言所支持。
從JSON格式中解析Date對象也很簡單。直接使用JSON.parse()方法即可。例如:
var json = '{"year":2021,"month":10,"day":20}'; var obj = JSON.parse(json, function(key, value){ if(key == "year" || key == "month" || key == "day"){ return new Date(value); } return value; }); console.log(obj); //輸出結果:{year: Wed Oct 20 2021 08:00:00 GMT+0800 (中國標準時間), month: Wed Oct 20 2021 08:00:00 GMT+0800 (中國標準時間), day: Wed Oct 20 2021 08:00:00 GMT+0800 (中國標準時間)}
在解析JSON數據時,可以使用解析回調函數來判斷是否需要將字符串轉換為Date對象。在這個示例中,只有year、month、day三個屬性會被轉換為Date對象。