欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springmvc返回json格式化日期对象

程序员文章站 2022-03-24 15:29:30
...

我们用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串处理日期会调用这个自定义类,来达到格式化日期;

springmvc返回json格式化日期对象
效果可以的哈。

相关标签: java