当前位置:网站首页>Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException:异常解决
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException:异常解决
2022-06-28 05:49:00 【zhou_zhao_xu】
异常信息:
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2022-05-26 15:36:45": not a valid representation (error: Failed to parse Date value '2022-05-26 15:36:45': Cannot parse date "2022-05-26 15:36:45": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSSX', parsing fails (leniency? null))
错误原因:
默认情况下,Jackson使用com.fasterxml.jackson.databind.util.StdDateFormat类进行格式化。
时间格式为:yyyy-MM-dd’T’HH:mm:ss.SSSZ,为ISO-8601数据类型。jackson默认的日期反序列不支持yyyy-MM-dd HH:mm:ss 这种格式,所以反序列化失败
解决办法:
- 解决方案一:在yml配置中进行配置序列化格式和时区
spring: jackson: date-format: yyyy-MM-dd HH:mm:ss # 默认是StdDateFormat time-zone: GMT+8 - 解决方案二:在实体类日期参数上使用jackson注解
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date createTime; - 解决方案三:在实体类日期参数上使用fastjson注解
<!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.55</version> </dependency> <!-- jackson--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.3</version> </dependency>@JSONField(format = “yyyy-MM-dd HH:mm:ss”) private Date createTime; - 解决方案四:重写jackson反序列化
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class CustomJsonDateDeserializer extends JsonDeserializer<Date> { @Override public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = jp.getText(); try { return format.parse(date); } catch (ParseException e) { throw new RuntimeException(e); } } }@JsonDeserialize(using = CustomJsonDateDeserializer.class) private Date createTime;
边栏推荐
- Install fmpefg
- Qtcanpool knowledge 07:ribbon
- The length of pytorch dataloader the difference between epoch and iteration
- FB、WhatsApp群发消息在2022年到底有多热门?
- Prime mover × Cloud primordial is making sound, reducing cost and increasing efficiency lecture hall
- 数据仓库:金融/银行业主题层划分方案
- 线条动画
- YYGH-6-微信登录
- Capacity scheduling absolute value configuration queue usage and pit avoidance
- 線條動畫
猜你喜欢
随机推荐
Codeworks 5 questions per day (1700 for each)
Object对象转 List集合
Blog login box
Line animation
pytorch dataloader的长度 epoch与iteration的区别
数据仓库:分层设计详解
sklearn 特征工程(总结)
Simple handwritten debounce function
高质量国产立体声编解码器CJC8988,Pin to Pin替代WM8988
PS effect understanding record 2 color_ dodge color_ burn
数据中台:数据治理的七把利剑
Data warehouse: financial / banking theme layer division scheme
What is webrtc?
線條動畫
JSP
Capacity scheduling absolute value configuration queue usage and pit avoidance
How to develop the language pack in the one-to-one video chat source code
全球国家(和地区)信息JSON数据
Pre training model parameter mismatch
The length of pytorch dataloader the difference between epoch and iteration








