2013-07-28 46 views
0

我有一个管理事件日期的MVC3项目。问题是,当我写一个JsonResult如何让Newtonsoft.Json允许带时区信息的Json DateTime转换?

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

响应的正文格式类似于

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

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

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

其中包含一些服务器时区信息! 我不能按照SHanselman's post(喜欢它,但它似乎没有占用)! 那么,有人能告诉我如何让Newtonsoft.Json.5.0.6包将Json DateTime与时区信息一起转换吗? 亲切的问候

+0

也许我会问:“如何让Newtonsoft.Json.5.0.6包允许使用时区信息的Json DateTime转换?” – Bellash

回答

4

我认为这link应该帮助您建立与Newtonsoft Json Serializer一起工作的MVC3项目。对于ISO日期时间格式化程序,您应该更改JsonNetResult构造函数中的以下行。

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

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

希望这有助于。

+0

感谢您的回答... JsonNetResult位于何处?我现在使用的是一个BaseController,所有的控制器都继承它:你是在谈论这种控制器还是什么?和你提供的链接似乎breaken – Bellash

+0

好吧我可以按照该链接... – Bellash

+0

是的它的工作原理!谢谢你Shakib你救了我的一周! GREATTT! – Bellash

相关问题