最近在使用阿里巴巴的fastjson反序列化对象的时候,对象里面时间格式属性总是会多了一个T

 2021-1-09T18:29:09.097

这个T是啥国际标准,但是我们的前端又不需要这个T,所以就要想办法去掉T。

先看代码

1、添加 LocalDateTimeSerializerConfig ,这个照搬过去就行了

 1 package com.dt.cloud.config;
2
3 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
4 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
5 import org.springframework.context.annotation.Bean;
6 import org.springframework.context.annotation.Configuration;
7 import java.time.LocalDateTime;
8 import java.time.format.DateTimeFormatter;
9
10 /**
11 * @Description: 去掉LocalDateTime带T的问题
12 * @author: Zhang Chonghu
13 * @Date: 2021/1/27 9:51
14 * @Copyright: Xi'an Dian Tong Software Co., Ltd. All Rights Reserved.
15 * @Version 1.0
16 */
17 @Configuration
18 public class LocalDateTimeSerializerConfig {
19 @org.springframework.beans.factory.annotation.Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
20 private String pattern;
21 @Bean
22 public LocalDateTimeSerializer localDateTimeDeserializer() {
23 return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
24 }
25 @Bean
26 public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
27 return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
28 }
29
30 }

在给小白们看看这个目录,我们项目是有个config包专门管理这些config配置类的

2、做完配置,就要做一些代码的操作了

 1     @JSONField(name="CreateTime")
2 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
3 private LocalDateTime createTime;
4
5 @JSONField(name="CreateBy")
6 private Integer createBy;
7
8 @JSONField(name="ChangeTime")
9 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
10 private LocalDateTime changeTime;

注意,我这两个时间属性是在Queue实体类中的,这里就贴这两个属性的代码出来。这里要做的就是加上@JsonFormat,上图

3、重点来了,注意看,我是先重数据库中查询出queue这个对象,在利用阿里巴巴直接序列化这个queue对象

这里要说明的是,因为业务需要,我要把整个对象返回,所以要序列化这个对象,再序列化那两个时间属性,如果我们只需要时间属性,不需要其他属性,直接序列化时间属性返回就行了。

0k,下课!!!

最新文章

  1. OpenERP ORM 对象方法列表
  2. 使用shadow dom封装web组件
  3. comboBox的多选框之疑难杂症——逗号篇
  4. 加密app.config
  5. web医疗影像浏览demo及地址
  6. java读取目录下所有csv文件数据,存入三维数组并返回
  7. UVA 10795 A Different Task(汉诺塔 递归))
  8. Hdu 1175 连连看(DFS)
  9. python 实现多层目录文件查找
  10. 【C语言编程练习】7.2动态数列排列
  11. Html br 标签
  12. Linux下安装ElasticSearch 5 和配置外部访问
  13. Ubuntu14.04安装PyMuPDF
  14. day_6.6 py
  15. VS IIS Express 支持局域网访问
  16. 字符串编码C#
  17. Java编程的逻辑 (19) - 接口的本质
  18. List<?>和List<T>的区别
  19. POJ 1129
  20. 转:日志组件logback的介绍及配置使用方法

热门文章

  1. C++libcurl的使用
  2. javascript之原型、原型链
  3. C# 队列Queue,ConcurrentQueue,BlockingCollection 并发控制lock,Monitor,信号量Semaphore
  4. 获取Web项目中的控制器类以及类中Action方法
  5. wuter 使用了腾讯云Ubuntu系统,但是没有root权限怎么办?
  6. ssms导入excel数据提示未安装插件的解决方法
  7. 图解 Java 数据结构
  8. 使用Arduino点亮ESP-01S,ESP8266-01S上的板载LED
  9. Go-Zero 短链项目 DevOps 实战,利用 Drone CI/CD 打通上云(Kubernetes)迭代流程
  10. nginx二级域名配置[CentOS]