2013-01-24 15 views
4

在我MVC4項目回來我有一個控制器的動作如下:使用JSON.NET日期格式從控制器動作

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

到瀏覽器的響應是在舊的ASP.NET格式:

「/日期(1358987787691)/」

但是,我知道,MVC4默認使用json.net,那json.net使用ISO8601格式的日期。

在上面的代碼中,序列化的變量包含(I想要的):

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

爲什麼返回Json(DateTime.Now)不是(看似)使用json.net?

我也試圖把下面一行在我global.asx:

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

,但無濟於事。

+0

似乎我誤解了文檔 - json.net是僅用於web API的默認json格式器。 –

+1

答案似乎在這裏:http://james.newtonking.com/archive/2008/10/16/asp-net-mvc-and-json-net.aspx –

回答

1

您可以對控制器工廠進行一些更改並創建控制器,該控制器從標準控制器繼承,但使用了自定義json格式器。