从控制器操作返回JSON.NET日期格式化

4
在我的MVC4项目中,我有一个控制器操作如下:
public ActionResult GetJson()
{
    var serialized = JsonConvert.SerializeObject(DateTime.Now);
    return Json(DateTime.Now, JsonRequestBehavior.AllowGet);
}

浏览器返回的响应是旧版ASP.NET格式:

"/Date(1358987787691)/"

然而,我知道MVC4默认使用json.net,并且json.net使用ISO8601格式来表示日期。

在上述代码中,序列化变量包含了(我想要的):

"\"2013-01-24T13:39:12.7182079+13:00\""

为什么返回Json(DateTime.Now)没有(看起来)使用json.net?

我还尝试将以下行放入我的global.asx文件中:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.UseDataContractJsonSerializer = false;

但是没有任何效果。

看来我误解了文档 - json.net 只是 Web API 的默认 JSON 格式化程序。 - Craig Shearer
1
答案似乎在这里:http://james.newtonking.com/archive/2008/10/16/asp-net-mvc-and-json-net.aspx - Craig Shearer
1个回答

1
您可以在控制器工厂中进行一些更改,并创建继承自标准控制器但使用自定义JSON格式化程序的控制器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接