首页 > 技术文章 > web api解决序列化后返回标准时间带T问题

cherious 原文

添加类:

public class JsonDataTimeConverter:IsoDateTimeConverter
    {
       public JsonDataTimeConverter()
       {
           DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
       }
        public override object ReadJson(JsonReader reader, Type objecType,object existingValue,JsonSerializer serializer)
       {
            DateTime dataTime;
            if (DateTime.TryParse(reader.Value.ToString(), out dataTime))
            {
                return dataTime;
            }
            else
            {
                return existingValue;
            }
        }
    }

在Global.asax 中Application_Start 方法中调用

   GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Insert(0,new JsonDataTimeConverter());

 JsonDataTimeConverter类通过DateTime.TryParse判断时间参数,可以解决在api入参请求中时间参数不完整导致时间为null的问题

推荐阅读