https://dannywei.iteye.com/blog/2022929

在运用SpringMVC框架开发时,可以直接在方法上添加注解 @ResponseBody 返回JSON数据,如果javabean的属性中包含 Date日期类型的数据,默认的转换格式并不是我们想要的 yyyy-MM-dd HH:mm:ss这样的格式,那又如何实现这样的格式转化呢?

测试环境

SpringMVC 3.2.0

Jackson 1.7.1

解决方案

其实SpringMVC的JSON转换方法是利用了 Jackson
这个开源的第三方类库,它提供了一些自定义格式的方法。只要我们继承它的抽象类:public abstract class
JsonSerializer<T>,并在相应的属性方法上添加指定注解:@JsonSerialize 即可实现。

编写Date日志自定义转换类:

CustomDateSerializer.java

  1. import java.io.IOException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import org.codehaus.jackson.JsonGenerator;
  5. import org.codehaus.jackson.JsonProcessingException;
  6. import org.codehaus.jackson.map.JsonSerializer;
  7. import org.codehaus.jackson.map.SerializerProvider;
  8. /**
  9. * 自定义返回JSON 数据格中日期格式化处理
  10. public class CustomDateSerializer extends JsonSerializer<Date> {
  11. @Override
  12. public void serialize(Date value, JsonGenerator jgen,
  13. SerializerProvider provider) throws IOException,
  14. JsonProcessingException {
  15. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  16. String formattedDate = formatter.format(value);
  17. jgen.writeString(formattedDate);
  18. }
  19. }

javabean对应属性的方法添加注解:

    1. @JsonSerialize(using = CustomDateSerializer.class)
    2. public Date getCreateDate() {
    3. return createDate;
    4. }

SpringMVC返回JSON数据时日期格式化问题的更多相关文章

  1. springMVC返回json数据时date类型数据被转成long类型

    在项目的过程中肯定会遇到ajax请求,但是再用的过程中会发现,在数据库中好好的时间类型数据:2017-05-04 17:52:24 在转json的时候,得到的就不是时间格式了 而是145245121这 ...

  2. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  3. 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  4. 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  5. springMVC框架返回JSON到前端日期格式化

    在Controller类中,需要返回JSON的方法上加上注释@ResponseBody,这是必须的. 然后spring-servlet.xml配置如下: <?xml version=" ...

  6. springMvc返回Json中自定义日期格式

    (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation-driven 2.在依赖管理中添加ja ...

  7. 关于springmvc 返回json数据null字段的显示问题-转https://blog.csdn.net/qq_23911069/article/details/62063450

    最近做项目(ssm框架)的时候,发现从后台返回的json(fastjson)数据对应不上实体类,从数据库查询的数据,如果对应的实体类的字段没有信息的话,json数据里面就不显示,这不是我想要的结果,准 ...

  8. springMVC返回json数据乱码问题及@RequestMapping 详解

    原文地址:https://blog.csdn.net/u010127245/article/details/51774074 一.@RequestMapping RequestMapping是一个用来 ...

  9. springMVC返回json数据乱码问

    在springMVC controller中返回json数据出现乱码问题,因为没有进行编码,只需要简单的注解就可以了 在@RequestMapping()中加入produces="text/ ...

随机推荐

  1. Python学习日记(二十八) hashlib模块、configparse模块、logging模块

    hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...

  2. 使用三层交换实现不同网段、不同 VLAN 互通

    上一篇实现了使用Trunk做跨交换机VLAN通信,这一篇就试试使用三层交换实现不同网段,不同VLAN间的通信. 实验拓扑 在一台三层交换机下面连接一台二层交换机,再在二层交换机下面连接两台VPC,地址 ...

  3. Linux下设置postgresql数据库开机启动

    PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下,linux文件即为linux系统上的启动脚本: 1.将Linux文件复制到 /e ...

  4. lock in share mode 和 select for update

    lock in share mode 和 select for update 2018年07月11日 01:57:58 道不虚行只在人 阅读数 146    版权声明:欢迎转载,请注明出处 https ...

  5. ArcGIS操作技巧——怎样把地图放到PPT中,并且进行编辑?

    需求:把arcgis配好的矢量地图插入到ppt中,并且要求可以在PPT中进行修改和重新着色.编辑. 效果:如下图所示: 操作过程: 方法一: 在最上面工具栏找到edit——>copy map t ...

  6. 在markdown中插入github仓库中的图片

    右击github中的图片,获得链接: https://github.com/nxf75/ML_Library/blob/master/Hadoop/Haddop%E6%A1%86%E6%9E%B6.p ...

  7. heapq 对有序的数组列表进行整体排序

    """ 功能:实现对有序的多个数组整体排序,获取top k个最小元素 """ from heapq import * def heap_so ...

  8. No Compiler is Provided in this environment Perhaps you are running on JRE rather than a JDK

    问题描述: 在使用Jenkins打包的时候,抛出这样的错,但JDK和Maven都是已经安装,没问题了的.其中Jenkins用的Pipline流水线来部署项目. 问题解决: 在使用Pipline部署项目 ...

  9. exception内置对象

    当当前页面可能发生异常的时候,此页面将此异常交给另外一个页面处理 在page处添加    errorPage="处理异常的页面.jsp" 在异常处理的页面的page处应该添加  i ...

  10. Uva11762 Race to 1——有向无环图&&记忆化搜索

    题意 给出一个整数 $N$,每次可以在不超过 $N$ 的素数中等概率随机选择一个 $P$,如果 $P$ 是 $N$ 的约数,则把 $N$ 变成 $N/P$,否则 $N$ 不变.问平均情况下需要多少次随 ...