springMVC自定义json序列化格式,将Date格式化为字符串
2016-03-03 23:57
141 查看
方法1:
public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String formattedDate = formatter.format(value);
jgen.writeString(formattedDate);
}
springMVC整合jackson后,可以自定义json转换的数据,例如数据库的datetime类型,java获取后jackson默认将该类型转为long,所以前端页面看到的是一串数字,我们可以自定义如上代码的转换器,返回数据到前台的时候就可以按照我们的需要返回格式化后的字符串类型数据。
注意,有了转换器,千万别忘了在domain字段上加上注解,将jackson在转换json的时候调用我们定义的转换器:
@JsonSerialize(using = CustomDateSerializer.class)
public Date getJoinTime() {
return joinTime;
}
这里我加到get方法上,返回前段的时候就会调用我们定义的转换器了。
-------------------------------------------------------------------
方法2:
经过多次测试,主要是jar文件版本不同造成的;这里采用的相关jar及版本如下:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.5.1</version> </dependency>
使用@JsonFormat注解
@JsonFormat(pattern = "yyyy-MM-ddHH:mm:ss") public Date getLastTime() { return lastTime; } public void setLastTime(Date lastTime) { this.lastTime = lastTime; }
相关文章推荐
- LeetCode : Tow Sum [java]
- 【java学习笔记】关于继承中父类和子类中语句的执行循序
- (java) Linked List Cycle
- Java Servlet 简介
- hibernate,spring,struts面试题
- java基本数据类型
- java语法中一些需要注意的地方
- Java:单例模式的七种写法
- ArrayList、Vector、LinkedList的区别及其优缺点?
- eclipse创建maven web项目
- java001-Helloworld
- myeclipse设置jvm参数的三种方式
- spring+mail+maven(spring 发送邮件)
- java 加载dll介绍(转)
- java内置的进制转换函数
- springboot-dubbo 实例
- springMVC实现重定向
- springMVC向页面传值
- Java判断字符串是否为空的几种方法
- java传值与传引用的三种情况