在项目开发中 有的个别接口 返回给前端的数据中 日期时间格式 的数据 中间会带 T

我已经在 实体类中加上了格式化 时间 的注解

但是有些接口日期时间出现这个T 有些接口没有 T

经过排查 我发现 出现 T 的接口中 我在返回数据的时候 对数据 使用了 fastjson 下的 JSON.toJSONString() 方法 导致的 带有T

R r = JSON.parseObject(JSON.toJSONString(result), R.class);

1

** 使用fastjson 包里的方法 进行json 转换 他会把 时间类型的数据 转换成带有T 的时间数据格式**

处理方案

第一步 写一个 fastJson 配置文件

package com.erp.init.config;

import com.alibaba.fastjson.serializer.JSONSerializer;

import com.alibaba.fastjson.serializer.ObjectSerializer;

import com.alibaba.fastjson.serializer.SerializeWriter;

import java.io.IOException;

import java.lang.reflect.Type;

import java.time.LocalDateTime;

import java.time.format.DateTimeFormatter;

/**

  • User: Json

  • Date: 2022/8/24

package com.erp.init.config;

import com.alibaba.fastjson.serializer.ObjectSerializer;

import com.alibaba.fastjson.serializer.SerializeConfig;

import com.erp.init.config.filter.FormTokenInterceptor;

import com.erp.init.config.filter.LoginCheckInterceptor;

import org.springframework.boot.web.client.RestTemplateBuilder;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.client.RestTemplate;

import org.springframework.web.servlet.config.annotation.InterceptorRegistration;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.time.LocalDateTime;

@Configuration

public class InitConfig implements WebMvcConfigurer {

@Bean public SerializeConfig serializeConfig() { SerializeConfig config = new SerializeConfig(); // 对LocalDateTime类型指定自定义的序列化器 config.put(LocalDateTime.class, objectSerializer()); return config; } @Bean public ObjectSerializer objectSerializer() { return new FastjsonSerializer(); }

}