如何使用GWT解析ASP.NET JSON日期格式

时间:2009-09-02 14:02:44

标签: json datetime gwt

ASP.NET JSON将DateTime序列化为以下格式“/ Date(1251877601000)/”。请帮助将此字符串解析为java(GWT)Date对象。

此时我带来的解决方案是使用正则表达式进行解析,提取长...但是我不能长时间通过JSNI。

2 个答案:

答案 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); });