You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jackson日期反序列化失败:格式模式匹配问题排查

问题分析:Jackson日期反序列化失败的格式匹配问题

你的日期格式匹配模式核心问题是Locale不匹配,具体分析如下:

  1. 英文缩写解析依赖Locale
    你的JSON日期字符串包含英文星期(如Thu)和月份缩写(如Feb),但Jackson默认使用系统默认Locale进行解析。如果应用运行在非英文Locale环境(比如中文),解析器无法识别这些英文缩写,就会抛出格式不匹配的异常——即使你的pattern看起来和字符串结构完全对应。

  2. 时区格式本身无结构错误
    你的pattern'GMT'Z中,Z在SimpleDateFormat里对应RFC 822格式的时区偏移(±HHmm),这部分本身能匹配字符串里的+0100,但因为Locale问题导致前置的英文标识解析失败,连带触发了格式异常。

解决方案
在@JsonFormat注解中显式指定英文Locale,确保解析器能正确识别英文的星期和月份缩写:

@JsonProperty("jcr:created")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "EEE MMM dd yyyy HH:mm:ss 'GMT'Z", locale = "en_US")
private Date created;

如果仍有问题,可额外添加时区参数明确基准:

@JsonProperty("jcr:created")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "EEE MMM dd yyyy HH:mm:ss 'GMT'Z", locale = "en_US", timezone = "GMT")
private Date created;

异常验证
从报错信息看,输入字符串Wed Sep 14 2016 15:37:40 GMT+0200与期望格式结构完全一致,本质是Locale不匹配导致解析器无法识别英文标识,而非格式字符串本身的结构错误。

内容的提问来源于stack exchange,提问作者user66875

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:43:30