解决数据库传回时间类型为数字

今天通过json从数据库传到前端,时间出现了这样的数据

数据库里面也是正确的

后面看到各位解决的方法,主要有两个:
https://blog.csdn.net/MrZhiJian/article/details/79575042

  1. 是加上这个JsonFormat标签

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
  2. 自己所写的转换工具类
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;

/**
 * @author zhijian 在属性或者get方法上加入@JsonSerialize(using=DateFormatSerializer.class)
 *
 */

public class DateFormatSerializer extends JsonSerializer<Date> {

    @Override
    public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
            throws IOException, JsonProcessingException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String datestr = sdf.format(value);
        gen.writeString(datestr);
    }

}

可是我加上之后还是不行,依旧没有变化,最后发现是servlet中的包导的错误

原来的包
import org.codehaus.jackson.map.ObjectMapper;
修改后
import com.fasterxml.jackson.databind.ObjectMapper;

https://www.cnblogs.com/wanglu/p/11794706.html
可以看到已经好了

posted @ 2020-08-31 12:08  save_me  阅读(312)  评论(0编辑  收藏  举报