一、由于当pojo字段有Date类型字段时,返回pojo json字符串时,Date类型字段会转换不正常,得到的不是我们想要的正常时间格式,故
需使用该方式转换,使返回的json字符串中含有Date类型的字段正常显示。
二、代码
1、使用到的工具类
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import org.springframework.stereotype.Component;
/**
* json 的时间的转换
* @from http://blog.csdn.net/z69183787/article/details/40375479
*/
@Component
public class JsonDateSerializer extends JsonSerializer<Date> {
private SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
@Override
public void serialize(Date date, JsonGenerator gen,
SerializerProvider provider) throws IOException,
JsonProcessingException {
String value = dateFormat.format(date);
gen.writeString(value);
}
}
2、在pojo中使用方法:在get方法上加上注解,set方法无需改变。
import java.util.Date;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import com.smg.twbd.util.JsonDateSerializer;
@JsonSerialize(using=JsonDateSerializer.class)
public Date getCreatetime() {
return createtime;
}