ASP.NET JSON将DateTime序列化为以下格式“/ Date(1251877601000)/”。请帮助将此字符串解析为java(GWT)Date对象。
此时我带来的解决方案是使用正则表达式进行解析,提取长...但是我不能长时间通过JSNI。
答案 0 :(得分:0)
function FixJsonDates(data) {
//microsoft script service perform the following to fix the dates.
//json date:\/Date(1317307437667-0400)\/"
//javasccript format required: new Date(1317307437667-0400)
//copied from micrsoft generated fiel.
var _dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g');
var exp = data.replace(_dateRegEx, "$1new Date($2)");
return eval(exp);
}
答案 1 :(得分:0)
这个问题的答案是,使用nuget获取JSON.NET,然后在JsonResult
方法中使用它:
return Json(JsonConvert.SerializeObject(/* JSON OBJECT TO SEND TO VIEW */));
在您的视图中在javascript
中执行此操作:
JSON.parse(@Html.Raw(Model.data))
如果它来自视图模型,或者它是ajax调用:
var request = $.ajax({ url: "@Url.Action("SomeAjaxAction", "SomeController")", dataType: "json"});
request.done(function (data, result) { JSON.parse(data); });