使用带有日期字段的JSON.parse()?

时间:2015-04-26 18:00:32

标签: javascript json

假设您将以下对象作为字符串:

var timecard = {
  "name": "Joe",
  "time": "Sun Apr 26 2015 13:58:54 GMT-0400 (EDT)"
} 

// as string
var stringed = 'var timecard = {   "name": "Joe",   "time": "Sun Apr 26 2015 13:58:54 GMT-0400 (EDT)" }'

并运行JSON.parse(stringed)将其解析为对象。你如何将日期转换为实际的Date对象而不是字符串?

谢谢!

1 个答案:

答案 0 :(得分:3)

JSON数据格式没有日期类型,因此您必须编写代码以将其转换为Date对象。

您可以将a reviver function作为第二个参数传递给JSON.parse来执行此操作。



    function parseDate(k, v) {
      if (k === "time") {
        return new Date(v);
      }
      return v;
    }
    var json = '{   "name": "Joe",   "time": "Sun Apr 26 2015 13:58:54 GMT-0400 (EDT)" }';
    var data = JSON.parse(json, parseDate);
    console.log(data);