ASP.NET MVC JsonResult 日期格式
在 ASP.NET MVC 中返回 JsonResult 时,您可能会遇到日期属性为以“/Date(1239018869048)/”等格式序列化。 JavaScript 无法读取此格式,并且在应用程序中处理日期时可能会导致问题。
解决方案 1:在 JavaScript 中手动解析日期字符串
一种方法是解析使用以下代码在 JavaScript 中手动输入日期字符串:
value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));
此代码删除“Date(”和“)”字符
解决方案 2:将 JSON.parse() 与 Reviver 函数结合使用
另一种选择是使用 JSON。 parse() 函数和 reviver 函数将日期字符串转换为 Date 对象。例如:
var parsed = JSON.parse(data, function(key, value) { if (typeof value === 'string') { var d = /\/Date\((\d*)\)\//.exec(value); return (d) ? new Date(+d[1]) : value; } return value; });
在此代码中,reviver 函数检查该值是否为字符串并与“/Date((d*))/”模式匹配。如果是,则使用 Date 构造函数将该值转换为 Date 对象。否则,返回原始值。
其他注意事项
需要注意的是,JSON 规范没有定义标准日期格式。 ASP.NET MVC 使用的“/Date(ticks)/”格式是一种约定,允许 JSON 表示 Date 对象。
在 JavaScript 中处理日期时,应考虑以下事项:
以上是如何在 JavaScript 中处理 ASP.NET MVC JsonResult 的非标准日期格式?的详细内容。更多信息请关注PHP中文网其他相关文章!