时间日期JSON解析器

后端报错:

2024-02-14 16:33:44.715 ERROR 968 --- [nio-8080-exec-8] c.pxl.exception.GlobalExceptionHandler : runtimeException: JSON parse error: Cannot deserialize value of type `java.util.Date` from String "Thu Feb 22 2024 00:00:00 GMT+0800 (中国标准时间)": not a valid representation (error: Failed to parse Date value 'Thu Feb 22 2024 00:00:00 GMT+0800 (中国标准时间)': Cannot parse date "Thu Feb 22 2024 00:00:00 GMT+0800 (中国标准时间)": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSX", "yyyy-MM-dd'T'HH:mm:ss.SSS", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd")); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "Thu Feb 22 2024 00:00:00 GMT+0800 (中国标准时间)": not a valid representation (error: Failed to parse Date value 'Thu Feb 22 2024 00:00:00 GMT+0800 (中国标准时间)': Cannot parse date "Thu Feb 22 2024 00:00:00 GMT+0800 (中国标准时间)": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSX", "yyyy-MM-dd'T'HH:mm:ss.SSS", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))

前端返回过来的数据无法解析JSON格式,可以配置一个日期反序列化类进行配置。

具体类型需要看你要什么再来详细配置

java 复制代码
package com.pxl.config;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;

import java.io.IOException;
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

// 自定义日期反序列化类
public class CustomDateDeserializer extends JsonDeserializer<Date> {
    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");

    @Override
    public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, IOException {
        String dateStr = jsonParser.getText();
        try {
            return (Date) dateFormat.parse(dateStr);
        } catch (ParseException e) {
            throw new RuntimeException("Failed to parse date: " + dateStr, e);
        }
    }
}
相关推荐
m0_7349497910 小时前
MySQL如何配置定时清理过期备份文件_find命令与保留周期策略
jvm·数据库·python
t***54411 小时前
Clang 编译器在 Orwell Dev-C++ 中的局限性
开发语言·c++
m0_5145205711 小时前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
H Journey11 小时前
Python 国内pip install 安装缓慢
python·pip·install 加速
oy_mail11 小时前
QoS质量配置
开发语言·智能路由器·php
oyzz12011 小时前
PHP操作redis
开发语言·redis·php
nashane12 小时前
HarmonyOS 6学习:网络能力变化监听与智能提示——告别流量偷跑,打造贴心网络感知应用
开发语言·php·harmony app
Polar__Star12 小时前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
凌波粒12 小时前
Java 8 “新”特性详解:Lambda、函数式接口、Stream、Optional 与方法引用
java·开发语言·idea
m0_7436239213 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python