JSON解析(DATE)对象数据

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>

结果一样.

 

posted @ 2017-08-09 23:15  狮子无敌514  阅读(3029)  评论(0编辑  收藏  举报