问题:MVC中使用控制器返回JsonResult,如果带有日期字段的对象,浏览器接收到的json中会变成形如/Date('123123123')/格式。如何在easyui等中直接使用是个麻烦事。

解决方法:从源头开始。既然Controller控制器的Json()方法会自动转化,那我们就给它扩展一下,把格式化日期的功能替换成我们自己写的格式:

首先,我们继承JsonResult写一个类,重载他的ExcuteResult:

    /// <summary>/// 提供自定义日期格式 Json/// </summary>public class CustomJsonResult : JsonResult{public override void ExecuteResult(ControllerContext context){if (context == null){throw new ArgumentNullException("context");}HttpResponseBase response = context.HttpContext.Response;if (Data != null){var timeConverter = new IsoDateTimeConverter {DateTimeFormat = "yyyy-MM-dd HH:mm:ss"};//这里使用自定义日期格式,默认是ISO8601格式
                response.Write(JsonConvert.SerializeObject(Data,Formatting.Indented,timeConverter));}}}

然后,继承Controller,实现一个BaseController

    /// <summary>/// 本项目所有控制器的基类,提供Json方法,用来自定义格式化日期/// </summary>public class BaseController : Controller{protected override JsonResult Json(object data, string contentType, Encoding contentEncoding){return new CustomJsonResult {Data = data, ContentType = contentType, ContentEncoding = contentEncoding};}public new JsonResult Json(object data, JsonRequestBehavior jsonRequest){return new CustomJsonResult {Data = data, JsonRequestBehavior = jsonRequest};}public new JsonResult Json(object data){return new CustomJsonResult {Data = data, JsonRequestBehavior = JsonRequestBehavior.AllowGet};}}

使用时,首先保证你的控制器是继承自BaseController,而不是Controller,举个栗子:

        public JsonResult UserSrc(){var q = from u in db.T_User.Where(p=>!p.DelFlag)selectnew{UserID = u.UserID,UserName = u.UserName,RealName = u.RealName,Date=u.Date                        };return Json(q);}

转载于:https://www.cnblogs.com/limlee/archive/2013/05/23/3094258.html

解决MVC返回Json中日期格式问题相关推荐

  1. java json 返回null,[] Spring4 MVC 返回json格式时候 设置不返回null值属性的有关问题...

    [求助] Spring4 MVC 返回json格式时候 设置不返回null值属性的问题 本帖最后由 bighong0404 于 2015-10-06 12:45:38 编辑 背景: 使用@respon ...

  2. 关于 pandas 解析 json 文件和其他类型文件的结果中日期格式数据类型不一致的问题

    问题: 我有两个文件,一个 .csv 文件和一个 .json 文件,数据截图分别如下: 我的目的是解析这些文件,并将结果统一交由下一个程序块进行处理. 在了解到 pandas 可以解析数据文件(csv ...

  3. (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题

    (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题 SpringMVC.xml中加 <!-- 配置消息转换器(解决中文乱码问题)--><mvc:annotati ...

  4. spring mvc 返回json数据的四种方式

    一.返回ModelAndView,其中包含map集 /** 返回ModelAndView类型的结果* 检查用户名的合法性,如果用户已经存在,返回false,否则返回true(返回json数据,格式为{ ...

  5. csv文件中日期格式问题

    csv文件中日期格式问题 我们在hive中做MySQL的 题目时,遇到日期格式不是yyyy-mm-dd时,会比较头疼.关于csv文件日期格式的上传到hdfs中,在做hql题目时用year(purcha ...

  6. hive中日期格式转换

    hive中日期格式转换 日期时间格式大致分成时间戳和日期时间格式互转,字符串转化成日期时间格式,日期格式之间的转化 一.时间戳和日期互转 1.unix_timestamp函数,日期转时间戳 当函数参数 ...

  7. SAP HANA中日期格式转换

    集团数仓要求的日期格式为:STRING yyyyMMddhhssmm 例如:20200924175407 SAP HANA中日期格式为:TIMESTAMP yyyy-MM-dd hh:ss:mm 例如 ...

  8. java中日期格式大小写标准写法

    java中日期格式大小写标准写法: yyyy-MM-dd HH:mm:ss (年-月-日 时:分:秒)

  9. 电脑表格日期怎么修改原有日期_“电脑表格日期格式怎么改“如何把excel中日期格式设置为2001-01-01...

    如何在EXCEL中改变日期格式 1.打开需置日期格式的excel表. 2.选中日期所在的格,单击鼠键,选择"设置单元格格式"选项. 3.在弹对话框"数字"标签中 ...

最新文章

  1. SAP系统怎样快速应对2019税改?
  2. 自己做网站翻译服务器 - 添加网站,猎场seo视频教程:站群之间应该如何进行链接-专业...
  3. 华为路由器配置DHCP中继
  4. c++ amp vs2017 报错_opencv4教程-1 opencv的安装与调试Windows10+vs2017
  5. Windows下socket编程(console非MFC)
  6. http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=122threadID=9172tstart=0
  7. android与ndk交互,NDK-JNI与Java的交互 hello-world
  8. Gulp介绍与入门实践
  9. 【C语言】判断素数的函数
  10. Abaqus 2022安装教程
  11. c语言__100以内的奇数
  12. ubuntu永久修改mac地址
  13. 【渝粤教育】 国家开放大学2020年春季 2774畜产品加工技术 参考试题
  14. 1、AUTOSAR简介
  15. BruteXSS:XSS暴力破解神器
  16. solidity的函数修改器(modifier)
  17. Java中的String长度限制
  18. java教程 电子工业出版社_Java程序设计实用教程
  19. 第二章 基础数据 第2节 工作日历
  20. 阿里云服务器通用算力u1性能测评CPU处理器网络PPS

热门文章

  1. named 客户端无法解析_解析天联高级版客户端无法访问用友U8问题
  2. nginx 代理 内存_科普Nginx和apache的区别及优缺点比较
  3. java锁屏_JAVA设置桌面不锁屏设置
  4. 关于python的比赛_【蓝桥杯】——python集团的比赛技巧,Python,组
  5. 《深入理解计算机系统》学习心得二:关于show-bytes的 学习
  6. php变量 标签,html标签如何使用php中的变量
  7. 设置RGBColor
  8. 【微信小程序之画布】三:手指触摸绘画椭圆
  9. 那些对混合云开发和应用程序环境的错误认识
  10. uva 10491 Cows and Cars