Date类型的字段序列化成JSON字符串

我们发现收到的响应结果里面有一个参数为: 

我们收到的时间字符串格式是由JSON序列化框架来决定的。 spring将JAVA数据类型的序列和反序列化为JSON字符串是依赖jackson(com.fasterxml.jackson.core:jackson-core)库来实现的。

Date类型的字段在序列化成JSON字符串时,需要考虑两个点,分别是格式时区

局部配置(更灵活)

格式与时区

在指定字段增加@JsonFormat注解,如下

格式

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date appointmentTime;

时区 

@JsonFormat(timezone = "GMT+8")
private Date appointmentTime;

全局配置(更方便)

application.yml中增加如下内容

格式

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss

时区

spring:
  jackson:
    time-zone: GMT+8

推荐格式按照字段单独配置,时区全局配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当将Java对象序列化JSON字符串时,有一些字段类型是无法直接序列化JSON的。以下是一些常见的无法序列化JSON字段类型的示例: 1. 非基本数据类型: - 自定义类:如果对象中包含自定义类的实例作为字段,那么默认情况下Jackson库无法直接序列化字段。 - 枚举类型:枚举类型序列化时需要进行特殊处理,以便将其转换为JSON格式。 - BigDecimal、BigInteger:这些大数类型序列化时需要进行特殊处理。 2. Java日期和时间类型: - java.util.Date、java.sql.Date:这些日期类型序列化时需要考虑日期格式的转换。 - java.time.LocalDate、java.time.LocalDateTime:Java 8引入的日期和时间类型需要进行特殊处理。 3. 集合类型: - java.util.Collection、java.util.Map:集合类型中的元素需要满足可序列化的要求,否则序列化过程会抛出异常。 4. 文件和流类型: - java.io.File、java.io.InputStream、java.io.OutputStream:这些文件和流类型无法直接序列化JSON。 5. 线程和锁类型: - java.lang.Thread、java.util.concurrent.locks.Lock:线程和锁类型通常是与系统相关的,无法直接序列化JSON。 对于上述无法直接序列化JSON字段类型,可以通过自定义Jackson库的序列化器(Serializer)和反序列化器(Deserializer)来实现特定类型序列化和反序列化逻辑。通过实现自定义的序列化器和反序列化器,可以告诉Jackson库如何将这些特殊类型转换为JSON格式或从JSON格式中还原。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值