时间日期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);
        }
    }
}
相关推荐
我的xiaodoujiao7 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 19--测试框架Pytest基础 3--前后置操作应用
python·学习·测试工具·pytest
std787911 分钟前
Rust 与 Go – 比较以及每个如何满足您的需求
开发语言·golang·rust
计算衎16 分钟前
基于Python实现CANoe和UDE交互通信工具实现,CAPL脚本通过python交互工具与UDE进行通信和调用UDE的组件获取UDE返回值。
python·capl·canoe·ude·nm_oncan
报错小能手17 分钟前
python(入门)map内置函数及import模块导入,as别名
开发语言·人工智能·python
梵得儿SHI25 分钟前
Java 反射机制实战:对象属性复制与私有方法调用全解析
java·开发语言·java反射机制的实际应用·对象属性复制·反射调用私有方法·私有字段·类型兼容性和敏感字段忽略
sulikey27 分钟前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
liu****43 分钟前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖44 分钟前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习