原来的以下内容只解决了序列化的问题,但作为参数反序列时,会有不完全对应格式将不能正确得到日期的问题。
以下为完美方法:
1、在WebApiConfig.cs的Register方法中加入以下语句,插入自定义的JsonDateTimeConverter格式
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Insert(0, new JsonDateTimeConverter());
2、新建一个类,名为JsonDateTimeConverter.cs,重写IsoDateTimeConverter的ReadJson方法,内容如下
/// <summary>
/// Json日期带T格式转换
/// </summary>
public class JsonDateTimeConverter : IsoDateTimeConverter
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
DateTime dataTime;
if (DateTime.TryParse(reader.Value.ToString(), out dataTime))
{
return dataTime;
}
else
{
return existingValue;
}
}
public JsonDateTimeConverter()
{
DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
}
}
---------------------
作者:Leckun
来源:CSDN
原文:https://blog.csdn.net/winnyrain/article/details/51314250
版权声明:本文为博主原创文章,转载请附上博文链接!