0

我有一个管理事件日期的 MVC3 项目。问题是当我写一个 JsonResult

   //...
   var StartDate=new DateTime(1999,12,10,2,3,40);
   return Json(StartDate,JsonBehavior.AllowGet);

响应的正文格式类似于

"StartDate":"\/Date(1374962232247)\/"

这个结果是根据服务器时区给我最后一天的日期,而不是返回类似的东西

 "StartDate":"\/Date(1374962232247-0600)\/"

其中包含一些服务器时区信息!我无法关注SHanselman 的帖子(喜欢但似乎不合适)!那么,有人能告诉我如何让 Newtonsoft.Json.5.0.6 包将 Json DateTime 与时区信息转换吗?亲切的问候

4

1 回答 1

4

我认为这个链接应该可以帮助您设置使用 Newtonsoft Json Serializer 的 MVC3 项目。JsonNetResult对于 ISO 日期时间格式化程序,您应该在构造函数中更改以下行。

public JsonNetResult()
{
    Formatting = Formatting.None;
    var settings = new JsonSerializerSettings();
    settings.Converters.Add(new IsoDateTimeConverter());
    SerializerSettings = settings;
    JsonRequestBehavior = JsonRequestBehavior.DenyGet;
}

您必须从 BaseController 派生控制器才能使用自定义结果。

希望这可以帮助。

于 2013-07-28T20:41:09.723 回答