Json.Net IsoDateTimeConverter不工作

时间:2013-04-04 07:33:13

标签: asp.net asp.net-mvc asp.net-mvc-4 json.net

我有一个用asp.net mvc 4制作的web应用程序

在Global.asax中

,我添加了IsoDateTimeConverter

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(
        new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy hh:mm" });
}

我有一个ActionResult

public ActionResult GetDate()
{
    DateTime dateTime = DateTime.Now;
    return Json(dateTime, JsonRequestBehavior.AllowGet);
}

但是,这个actionResult会返回:

"\/Date(1365060823129)\/"

我缺少什么?

1 个答案:

答案 0 :(得分:6)

我相信你对所有“不精确”的命名感到有些困惑,很多人最近都在使用它。 ASP.NET Web API 使用JsonFormatter(以及一般的格式化程序)。

您没有使用 ASP.NET Web API ,您正在使用 ASP.NET MVC 4 (这些是完全分离的技术)。

ASP.NET MVC 4 中,序列化逻辑仍在JsonResult内部JavaScriptSerializer内完成,格式化程序未在此处应用。

如果要将 Json.NET (及其IsoDateTimeConverter)与 ASP.NET MVC 4 一起使用,您仍需要创建自己的{{1如here所述。