إكراه json serializer في إنتاج تنسيق تاريخ معين (yyyy-mm-ddthh: mm: ss.msmsmsz)

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

سؤال

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/201/2012/12/custom-datetime-json-serialization/

نصائح أخرى

تحتاج إلى جعل JavaScriptConverter فئة وتسجيلها باستخدام RegisterConverters طريقة.

أوصي بأنك (والجميع مع هذه المشكلة) فقط قم بالتبديل إلى مكتبة Servicestack.Text - يشبه 30 ثانية للدمج وستحل مجموعة من المشكلات الأخرى. ألق نظرة على هذا السؤال نشرت وإجابة عليها مني:

ASP.NET MVC JSON TATETIME تحويل التسلسل إلى UTC

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top