Le fait de contraindre Json sérialiseur dans la production d'un format de date-heure particulière (aaaa-mm-jjThh: mm: ss.msmsmsZ)

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

Question

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

Produit:

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

Comment puis-je présenter la date:

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

Était-ce utile?

La solution

Même si vous implémentez un JavaScriptConverter vous devez envelopper la chaîne dans un objet. Heureusement, il y a un hack autour d'elle décrit ici:

http://blog.calyptus.eu/seb / 2011/12 / JSON-sérialisation sur mesure datetime /

Autres conseils

Je vous recommande (et tout le monde avec ce problème) passer juste à la bibliothèque ServiceStack.Text - il est comme 30 secondes pour intégrer et vous résoudrez tas d'autres problèmes. Jetez un oeil à cette question posée et répondu par moi:

conversion ASP.NET MVC Json DateTime sérialisation à UTC

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top