Zwingen Json Serializer in ein bestimmtes Format DATETIME Herstellung (yyyy-mm-ddThh: mm: ss.msmsmsZ)

StackOverflow https://stackoverflow.com/questions/2435209

Frage

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));

Erzeugt:

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

Wie kann ich präsentiere das Datum als:

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

War es hilfreich?

Lösung

Auch wenn Sie eine Javascript implementieren Sie die Zeichenfolge in einem Objekt wickeln würden. Glücklicherweise gibt es einen Hack um es hier beschrieben:

http://blog.calyptus.eu/seb / 2011/12 / custom-Datetime-json-Serialisierung /

Andere Tipps

Sie müssen dafür eine JavaScriptConverter Klasse und registrieren sie die RegisterConverters Methode.

Ich empfehle, dass Sie (und alle anderen mit diesem Problem) zu wechseln, nur um ServiceStack.Text Bibliothek - es ist wie 30 Sekunden ist zu integrieren und Sie werden Haufen anderer Probleme zu lösen. Werfen Sie einen Blick auf diese Frage gestellt und beantwortet von mir:

ASP.NET MVC Json Serialisierung Datetime-Konvertierung in UTC

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top