分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

mvc 返回json格式时间格式化

发布时间:2023-09-06 02:22责任编辑:胡小海关键词:jsjson
 protected override JsonResult Json(object data, string contentType, System.Text.Encoding contentEncoding, JsonRequestBehavior behavior) ???????{ ???????????return new ToJsonResult ???????????{ ???????????????Data = data, ???????????????ContentEncoding = contentEncoding, ???????????????ContentType = contentType, ???????????????JsonRequestBehavior = behavior, ???????????????FormateStr = "yyyy-MM-dd HH:mm:ss" ???????????}; ???????} ???????protected JsonResult MyJson(object data) ???????{ ???????????return new ToJsonResult ???????????{ ???????????????Data = data, ???????????????FormateStr = "yyyy-MM-dd" ???????????}; ???????}
 /// <summary> ???/// 说明:转化为Jason ???/// 作者: CallmeYhz ???/// </summary> ???public class ToJsonResult : JsonResult ???{ ???????const string error = "该请求已被封锁,因为敏感信息透露给第三方网站,这是一个GET请求时使用的。为了可以GET请求,请设置JsonRequestBehavior AllowGet。"; ???????/// <summary> ???????/// 格式化字符串 ???????/// </summary> ???????public string FormateStr ???????{ ???????????get; ???????????set; ???????} ???????/// <summary> ???????/// 说明:重写ExecueResult方法 ???????/// 作者:CallmeYhz ???????????/// </summary> ???????/// <param name="context"></param> ???????public override void ExecuteResult(ControllerContext context) ???????{ ???????????if (context == null) ???????????{ ???????????????throw new ArgumentNullException("context"); ???????????} ???????????if (JsonRequestBehavior == JsonRequestBehavior.DenyGet && ???????????????String.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase)) ???????????{ ???????????????throw new InvalidOperationException(error); ???????????} ???????????HttpResponseBase response = context.HttpContext.Response; ???????????if (!String.IsNullOrEmpty(ContentType)) ???????????{ ???????????????response.ContentType = ContentType; ???????????} ???????????else ???????????{ ???????????????response.ContentType = "application/json"; ???????????} ???????????if (ContentEncoding != null) ???????????{ ???????????????response.ContentEncoding = ContentEncoding; ???????????} ???????????if (Data != null) ???????????{ ???????????????JavaScriptSerializer serializer = new JavaScriptSerializer(); ???????????????string jsonstring = serializer.Serialize(Data); ???????????????//string hashOldPassword = @"\\/Date\((\param+)\+\param+\)\\/"; ???????????????string p = @"\\/Date\(\d+\)\\/"; ???????????????MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString); ???????????????Regex reg = new Regex(p); ???????????????jsonstring = reg.Replace(jsonstring, matchEvaluator); ???????????????response.Write(jsonstring); ???????????} ???????} ???????/// <summary> ???????/// 说明:将Json序列化的时间由/Date(1294499956278+0800)转为字符串 ???????/// 作者:CallmeYhz ??????????/// </summary> ???????private string ConvertJsonDateToDateString(Match m) ???????{ ???????????string result = string.Empty; ???????????string p = @"\d"; ???????????var cArray = m.Value.ToCharArray(); ???????????StringBuilder sb = new StringBuilder(); ???????????Regex reg = new Regex(p); ???????????for (int i = 0; i < cArray.Length; i++) ???????????{ ???????????????if (reg.IsMatch(cArray[i].ToString())) ???????????????{ ???????????????????sb.Append(cArray[i]); ???????????????} ???????????} ???????????// reg.Replace(m.Value; ???????????DateTime dt = new DateTime(1970, 1, 1); ???????????dt = dt.AddMilliseconds(long.Parse(sb.ToString())); ???????????dt = dt.ToLocalTime(); ???????????result = dt.ToString(this.FormateStr); ???????????return result; ???????} ???}

将此代码添加到baseControle 中就可以了

mvc 返回json格式时间格式化

原文地址:https://www.cnblogs.com/elsons/p/9973652.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved