【发布时间】:2021-09-18 17:29:26
【问题描述】:
我正在使用 jQuery 在Ajax 进行我的第一次破解。我正在将我的数据放到我的页面上,但是我在处理为 Date 数据类型返回的 JSON 数据时遇到了一些问题。基本上,我得到的字符串如下所示:
/Date(1224043200000)/
来自对 JSON 完全陌生的人 - 如何将其格式化为短日期格式?这应该在 jQuery 代码中的某个地方处理吗?我已经使用$.datepicker.formatDate() 尝试了jQuery.UI.datepicker 插件,但没有任何成功。
仅供参考:这是我在这里使用答案组合提出的解决方案:
function getMismatch(id) {
$.getJSON("Main.aspx?Callback=GetMismatch",
{ MismatchId: id },
function (result) {
$("#AuthMerchId").text(result.AuthorizationMerchantId);
$("#SttlMerchId").text(result.SettlementMerchantId);
$("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
$("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
$("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
$("#LastUpdatedBy").text(result.LastUpdateNt);
$("#ProcessIn").text(result.ProcessIn);
}
);
return false;
}
function formatJSONDate(jsonDate) {
var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
return newDate;
}
此解决方案从回调方法中获取我的对象,并使用日期格式库在页面上正确显示日期。
【问题讨论】:
-
这可能很有趣:hanselman.com/blog/…
-
/Date(...)/ 格式特定于 Microsoft 的内置 JSON 日期格式 - 它不是任何标准的一部分,来自 Javascript 的 JSON 有一个标准:ISO 格式Javascript 指定:stackoverflow.com/a/15952652/176877 所以,这个问题特定于 Microsoft 的 JSON 日期格式。我修改了标题以澄清这一点。
-
你在开玩笑!微软已经在 JSON 上打上了自己的烙印!和约会!他们什么时候能学会!
-
在 .NET 端使用 Newtonsoft JSON 并在 JS 端使用漂亮的类型值,只需使用:github.com/RickStrahl/json.date-extensions
-
您可以使用 JSON++ 代替 JSON。 JSON++ 与 JSON 相同,但支持
Date等 JavaScript 类型。