最近剛接觸web api,想著把以前做webservice時需要注意的坑都給避免掉,于是開始查找如何格式化時間,避免出現(xiàn)yyyy-MM-ddTHH:mm:ss問題,特此記錄。
解決辦法就是把Json方法重寫。
public class BaseController : ApiController
{
public new JsonResult<T> Json<T>(T content)
{
var settings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
settings.Converters.Add(timeConverter);
settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
return Json<T>(content, settings);
}
}
我是把此方法寫在一個基控制器里,然后所有控制器都繼承此基控制器。
這樣的話每創(chuàng)建一個控制器,改一次繼承即可,否則要在每個控制器里都重寫此方法了。
注意,這里需要引用命名空間System.Web.Http.Results、Newtonsoft.Json、Newtonsoft.Json.Converters。