Принуждение сериализатора Json к созданию определенного формата даты и времени (гггг-мм-ддТчч: мм: сс.msmsmsZ)
-
19-09-2019 - |
Вопрос
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));
Производит:
{"accountId":12345,"timeStamp":"\/Date(1268420981135)\/","userType":"theUserType"}
Как я могу представить дату как:
"timestamp":"2010-02-15T23:53:35.963Z"
?
Решение
Даже если вы реализуете JavaScriptConverter, вам придется поместить строку в объект.К счастью, есть способ взлома, описанный здесь:
http://blog.calyptus.eu/seb/2011/12/custom-datetime-json-serialization/
Другие советы
Вам нужно сделать JavaScriptConverter
класс и зарегистрируйте его с помощью RegisterConverters
метод.
Я рекомендую вам (и всем остальным, у кого есть эта проблема) просто переключиться на библиотеку ServiceStack.Text - интеграция займет около 30 секунд, и вы решите кучу других проблем.Взгляните на этот вопрос, опубликованный и на который я ответил:
Не связан с StackOverflow