4

ASP.NET JSON serialize DateTime to the following format "/Date(1251877601000)/". Pls, help parse this string into the java(GWT) Date object.

At this time the solution I came with is parsing with regex, extract long.. but then I cannot push long through JSNI.

Mike Chaliy
  • 25,801
  • 18
  • 67
  • 105

2 Answers2

0

The answer to this question is, use nuget to obtain JSON.NET then use this inside your JsonResult method:

return Json(JsonConvert.SerializeObject(/* JSON OBJECT TO SEND TO VIEW */));

inside your view simple do this in javascript:

JSON.parse(@Html.Raw(Model.data))

If it comes via a view model that is or if it is an ajax call:

var request = $.ajax({ url: "@Url.Action("SomeAjaxAction", "SomeController")", dataType: "json"});
request.done(function (data, result) { JSON.parse(data); });
Callum Linington
  • 14,213
  • 12
  • 75
  • 154
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);
   }
Shawn Chin
  • 84,080
  • 19
  • 162
  • 191
Iftikhar Ali
  • 369
  • 3
  • 12