org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2012-12-12 12:01:01': not a valid representation (error: Can not parse date "2012-12- - 故宫博物院 - 博客园
https://www.cnblogs.com/suizhikuo/p/8393781.html
关于jackson中时间字符串的转换 - masquelo的专栏 - CSDN博客
https://blog.csdn.net/masquejava/article/details/10556281
org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from Str - kero921的博客 - CSDN博客
https://blog.csdn.net/kero921/article/details/79835627
package org.jeecgframework.core.common.controller; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonProcessingException; import org.codehaus.jackson.map.DeserializationContext; import org.codehaus.jackson.map.JsonDeserializer; import org.springframework.util.StringUtils; /** * 解决@RequestBody接收json数据,Jackson 反序列化Date格式 * @author scott * */ public class CustomJsonDateDeserializer extends JsonDeserializer<Date> { private SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); @Override public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { String text = jp.getText(); if (StringUtils.hasText(text)) { try { if (text.indexOf(":") == -1 && text.length() == 10) { return this.dateFormat.parse(text); } else if (text.indexOf(":") > 0 && text.length() == 19) { return this.datetimeFormat.parse(text); } else { throw new IllegalArgumentException("Could not parse date, date format is error "); } } catch (ParseException ex) { IllegalArgumentException iae = new IllegalArgumentException("Could not parse date: " + ex.getMessage()); iae.initCause(ex); throw iae; } } else { return null; } } }
//商品有效期限 @JSONField(format="yyyy-MM-dd HH:mm:ss") private java.util.Date goodsdates; @Column(name ="goodsdates",nullable=true,length=20) @JsonDeserialize(using = CustomJsonDateDeserializer.class) public java.util.Date getGoodsdates() { return goodsdates; } public void setGoodsdates(java.util.Date goodsdates) { this.goodsdates = goodsdates; }