3
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"

?

4

3 回答 3

2

您需要创建一个JavaScriptConverter类并使用该RegisterConverters方法注册它。

于 2010-03-12T19:24:13.937 回答
1

即使您实现了 JavaScriptConverter,您也必须将字符串包装在一个对象中。幸运的是,这里描述了一个 hack:

http://blog.calyptus.eu/seb/2011/12/custom-datetime-json-serialization/

于 2011-12-28T10:04:45.840 回答
0

我建议您(以及遇到此问题的其他所有人)只需切换到 ServiceStack.Text 库 - 集成大约需要 30 秒,您将解决许多其他问题。看看我发布并回答的这个问题:

ASP.NET MVC Json DateTime 序列化转换为 UTC

于 2013-02-21T09:12:19.363 回答