SpringMVC用JsonSerialize日期转换方法

时间:2021-08-30 15:34:20

最近在用SpringMvc做Http接口时,对方在调用我接口时发现Date格式的默认转化为long,因此在前端页面看到的是一串数字。

SpringMVC用JsonSerialize日期转换方法

我们可以自定义代码的转换器,返回数据到前台的时候就可以按照我们的需要返回格式化后的字符串类型数据。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.cnpc.mall.web.utils;
 
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;
 
public class CustomDateSerializer extends JsonSerializer<Date>
{
   
  @Override
  public void serialize(Date value, JsonGenerator jgen,
      SerializerProvider provider)
    throws IOException, JsonProcessingException
  {
    jgen.writeString(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(value));
  }
}

 注意,有了转换器,千万别忘了在domain字段上加上注解,将jackson在转换json的时候调用我们定义的转换器:

?
1
2
3
4
@JsonSerialize(using = CustomDateSerializer.class)
  public Date getLsd06() {
    return lsd06;
  }

这里我加到get方法上,返回前端的时候就会调用我们定义的转换器了。

SpringMVC用JsonSerialize日期转换方法

以上就是小编为大家带来的SpringMVC用JsonSerialize日期转换方法全部内容了,希望大家多多支持服务器之家~