4

在我的 MVC4 项目中,我有一个控制器操作如下:

public ActionResult GetJson()
{
    var serialized = JsonConvert.SerializeObject(DateTime.Now);
    return Json(DateTime.Now, JsonRequestBehavior.AllowGet);
}

对浏览器的响应是旧的 ASP.NET 格式:

"/日期(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;

但无济于事。

4

1 回答 1

1

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

于 2013-01-24T00:47:58.920 回答