Costringere JSON serializzatore in produzione di un particolare formato datetime (aaaa-mm-ggThh: mm: ss.msmsmsZ)
-
19-09-2019 - |
Domanda
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));
produce:
{"accountId":12345,"timeStamp":"\/Date(1268420981135)\/","userType":"theUserType"}
Come posso presentare la data come:
"timestamp":"2010-02-15T23:53:35.963Z"
Soluzione
Anche se si implementa un JavaScriptConverter si dovrebbe avvolgere la stringa in un oggetto. Per fortuna c'è un hack intorno ad esso descritto qui:
http://blog.calyptus.eu/seb / 2011/12 / custom-datetime-jSON-serializzazione /
Altri suggerimenti
È necessario fare una JavaScriptConverter
di classe e registrarlo utilizzando il metodo RegisterConverters
.
Vi consiglio (e tutti gli altri con questo problema) solo passare alla libreria ServiceStack.Text - è come 30 secondi per integrare e potrai risolvere mucchio di altri problemi. Date un'occhiata a questa domanda postato & risposto da me:
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow