1.JSON 不能存儲 Date 對象。
2.如果你需要存儲 Date 對象,需要將其轉換為字符串。
3.之后再將字符串轉換為 Date 對象。
舉例:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>菜鳥教程(runoob.com)</title>
6 </head>
7 <body>
8
9 <h2>將字符串轉換為 Date 對象。</h2>
10
11 <p id="demo"></p>
12
13 <script>
14
15 var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}'; 16 var obj = JSON.parse(text); 17 obj.initDate = new Date(obj.initDate); 18
19 document.getElementById("demo").innerHTML = obj.name + "創建日期: " + obj.initDate; 20
21 </script>
22
23 </body>
24 </html>
結果為:
將字符串轉換為 Date 對象。
Runoob創建日期: Sat Dec 14 2013 08:00:00 GMT+0800 (中國標准時間)
另一種方式:可以啟用 JSON.parse 的第二個參數 reviver,一個轉換結果的函數,對象的每個成員調用此函數。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<h2>字符串轉換為 Date 對象</h2>
<p id="demo"></p>
<script>
var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}'; var obj = JSON.parse(text, function (key, value) { if (key == "initDate") { return new Date(value); } else { return value; }}); document.getElementById("demo").innerHTML = obj.name + "創建日期:" + obj.initDate; </script>
</body>
</html>
結果一樣.