的JavaScript Json.stringify替代品的值转换为字符串

问题描述:

我使用的JavaScript JSON.stringify函数与替代品(第二个参数)以某种方式来格式化日期值:的JavaScript Json.stringify替代品的值转换为字符串

var s = JSON.stringify(data, function (key, value) { 
      if (key === "") return value; 
      if (jQuery.type(value) === "date") return "Date(" + value.getTime() + ")"; 
      return value; 
     }); 

我有有效日期时间值我的对象“数据”。但是,使用此值执行替换函数时,日期时间值将自动转换为字符串,因此jQuery.type(value)=“string”而不是“date”。

在我调用stringify之前,我可以简单地替换值对象中的所有日期时间值,但我不希望修改原始数据。

这是代替函数应该如何表现或这是IE的一个奇怪的功能(我使用IE9)?我怎么能解决这个问题?

尝试

Date.prototype.toJSON = function() { 
    return "Date(" + this.getTime() + ")"; 
}; 

没有替代品。

+0

你是一个天才。谢谢。 – Preli