SpringMVC中在使用@ResponseBody时如何将Date类型的日期返回指定格式的json数据

来源:互联网 发布:淘宝申请代销 编辑:程序博客网 时间:2024/05/16 12:59

hello,我的小可爱们,前天去参加了人生第一次比较正式的面试,总体还算比较顺利,今天就已经拿到了offer,心里还是蛮开心的,但我深刻的知道,作为一个非计算机专业出身的我还有更长的路要走,我还是要拿出十二分的努力去学习,去快速成长,在这里给自己定一个目标,明年真正毕业前,努力让自己的能力成长到可以达到月薪过万的水准。好了,废话不多说,开始今天的分享。

同样最近在做项目的过程中,发现实体类中属性为Date类型的值在使用@ResponseBody转换成json数据类型返回给前端页面时,返回的是一个Long型的数值,这种显示方式显然不是我们想要的,那么我们该怎么办才能把Long型数值转换成我们想要的格式显示给用户看呢?下面是我总结的一些方法,大家可以参考一下(假设返回的那个Long型数值为time)。

第一种:利用javascript,将time作为参数创建一个新的date类型的对象,然后调用date的toLocaleDateString()方法,该方法会根据本地时间格式,把Date对象的日期部分转换为字符串,当然如果你想再加上时间部分,可以调用toLocaleTimeString()方法。

2017-09-15_005826.png

这样前端页面就不会再显示一个长串的数字啦。

第二种:我们可以编写一个日期格式转换类,让其继承抽象类JsonSerializer,然后重写其中的serialize方法,最后在javaBean的响应属性的getter方法加上注解@JsonSerialize即可实现。这种方法相对第一种方法比较自由,我们可以完全按照自己想要的格式去转换。具体如下:

2017-09-15_010742.png

2017-09-15_010850.png

第三种:我们可以完全使用注解的方式进行日期格式的转换,具体如下:

2017-09-15_011448.png

给你们看看效果

2017-09-15_011531.png

第四种:以上的方式都是针对单一属性,如果我们想让所有实体类中的Date类型的属性转换成指定格式,我们可以在spring-mvc.xml文件中进行以下配置:

2017-09-15_095339.png

以上所有方式,亲测可用,大家可以在使用的过程中灵活选择。

阅读全文
0 0
原创粉丝点击