.net 5 json 序列化時間格式設置

 //mvc服務
            services.AddControllersWithViews(options => {
            }).AddJsonOptions(a => a.JsonSerializerOptions.Converters.Add(new FzCyjh.YunSdkAJ.Common.DateTimeJsonConverter()));

  

 /// <summary>
    /// 
    /// </summary>
    public class DateTimeJsonConverter : JsonConverter<DateTime> {
        private readonly string _dateFormatString;
        /// <summary>
        /// 
        /// </summary>
        public DateTimeJsonConverter() {
            _dateFormatString = "yyyy-MM-dd HH:mm:ss";
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dateFormatString"></param>
        public DateTimeJsonConverter(string dateFormatString) {
            _dateFormatString = dateFormatString;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="typeToConvert"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) {
            return DateTime.Parse(reader.GetString());
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="writer"></param>
        /// <param name="value"></param>
        /// <param name="options"></param>
        public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) {
            writer.WriteStringValue(value.ToString(_dateFormatString));
        }
    }

  

  Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings();
            Newtonsoft.Json.JsonConvert.DefaultSettings = new Func<Newtonsoft.Json.JsonSerializerSettings>(() => {
                //日期類型默認格式化處理
                setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
                setting.DateFormatString = "yyyy-MM-dd HH:mm:ss.fff";

                //空值處理
                setting.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;

                return setting;
            });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章