web api中序列化後的時間中含有“T”的解決方法
阿新 • • 發佈:2019-02-04
web api中序列化後的時間中含有“T”的解決方法
在web api中,系統會自動將返回的物件序列化為json資料,但是如果物件中含有時間的話,序列化後的時間中會含有“T”字元,如下:
public object getJson()
{
var rst = new
{
name = "abc",
time = DateTime.Now
};
return rst;
}
返回後返回的json
{
"name": "abc",
"time": "2015-02-10T15:18:21.7046433+08:00"
}
web api返回的是標準格式時間,但是我們平常並不需要標準格式的時間,那麼我們如何修改返回的資料的時間格式呢?
在web api中,我們可以在WebApiConfig.cs的Register函式中新增以下配置來定義返回的時間型別格式,如下:
//配置返回的時間型別資料格式 GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add( new Newtonsoft.Json.Converters.IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd hh:mm:ss" } );
DateTimeFormat中的格式即是我們自定義的時間格式,定義後我們再訪問getJson介面看看返回的資料會怎樣,如下:
{
"name": "abc",
"time": "2015-02-10 03:26:14"
}
哈哈,變成了我們常用的格式了