springmvc返回json格式化日期对象
我们用ajax请求后台springmvc,后台返回对象,会默认给我们转json,日期对象的话,默认会调用toString()搞成一个非常难看的格式;
这时候,我们可以自定义json序列方式来转下日期的格式;
具体操作方法,先定义两个自定义日期处理类:
CustomDateTimeSerializer:
package com.java1234.entity; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; /** * 自定义返回JSON 数据格式中日期格式化处理 * @author java1234 小锋 老师 * */ public class CustomDateTimeSerializer extends JsonSerializer<Date>{ @Override public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers) throws IOException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); gen.writeString(sdf.format(value)); } }
CustomDateSerializer类:
package com.java1234.entity; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; /** * 自定义返回JSON 数据格式中日期格式化处理 * @author Administrator * */ public class CustomDateSerializer extends JsonSerializer<Date>{ @Override public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); gen.writeString(sdf.format(value)); } }
我们平时基本就这两种转换法:
然后我们在实体类的日期属性的get方法上注解@JsonSerialize(using=CustomDateTimeSerializer.class)
@JsonSerialize(using=CustomDateTimeSerializer.class) public Date getBuyTime() { return buyTime; }
这样搞就OK了,返回的json串处理日期会调用这个自定义类,来达到格式化日期;