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>
结果一样.