JSON.NET 序列化时间格式 返回

C#论坛 老数据
1 2308

首先创建自定义Converter

public class CustomDateConverter :DateTimeConverterBase
    {
       private IsoDateTimeConverter dtConverter;
       public EasyUIDateConverter()
       {
           dtConverter = new IsoDateTimeConverter { DateTimeFormat ="yyyy/MM/dd" };
       }
 
       public override object ReadJson(JsonReader reader, Type objectType,object existingValue, JsonSerializer serializer)
       {
           if (!string.IsNullOrEmpty(reader.Value.ToString()))
           {
                returndtConverter.ReadJson(reader, objectType, existingValue, serializer);
           }
           else
           {
                return DateTime.MinValue;
           }
       }
 
       public override void WriteJson(JsonWriter writer, object value,JsonSerializer serializer)
       {
           if ((DateTime)value == DateTime.MinValue)
           {
                newStringEnumConverter().WriteJson(writer, null, serializer);
           }
           else
           {
                dtConverter.WriteJson(writer,value, serializer);
           }
       }
}


然后在需要使用此Converter的实体类属性上进行标注


public classArchiveModel
    {
        public long ArchiveId { get; set; }
        public long ProjectId { get; set; }
        [JsonConverter(typeof(EasyUIDateConverter))]
        public DateTime CProcedureCompleteDate{ get; set; }
        public bool IsMaterialCertificationTidy{ get; set; }
        [JsonConverter(typeof(EasyUIDateConverter))]
        public DateTime CompletionDrawingReportDate{ get; set; }
        [JsonConverter(typeof(EasyUIDateConverter))]
        public DateTimeCompletionDrawingGetDate { get; set; }
        [JsonConverter(typeof(EasyUIDateConverter))]
        public DateTime CompletionMaterialDate{ get; set; }
    }


热忱回答1