今天通过json从数据库传到前端,时间出现了这样的数据
数据库里面也是正确的
后面看到各位解决的方法,主要有两个:
https://blog.csdn.net/MrZhiJian/article/details/79575042
- 是加上这个JsonFormat标签
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
- 自己所写的转换工具类
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;