我正在使用带有替换器(第二个参数)的 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() + ")";
};
没有替代品。
关于JavaScript Json.stringify 替换器将值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968622/