Search code examples
c#jsondatetimejsonserializer

Coercing Json Serializer into producing a particular datetime format (yyyy-mm-ddThh:mm:ss.msmsmsZ)


MyClass theSession = new MyClass() {
    accountId = 12345,
    timeStamp = DateTime.Now,
    userType = "theUserType"
};

System.Web.Script.Serialization.JavaScriptSerializer Json = new System.Web.Script.Serialization.JavaScriptSerializer();
Response.Write(Json.Serialize(theSession));

Produces:

{"accountId":12345,"timeStamp":"\/Date(1268420981135)\/","userType":"theUserType"}

How can I present the date as:

"timestamp":"2010-02-15T23:53:35.963Z"

?


Solution

  • Even if you implement a JavaScriptConverter you would have to wrap the string in an object. Fortunately there's a hack around it described here:

    http://blog.calyptus.eu/seb/2011/12/custom-datetime-json-serialization/