相关疑难解决方法(0)

杰克逊转换 LocalDatetime

我有一个带有 @JsonFormat 的 LocalDateTime 字段

@JsonFormat(pattern = "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'")
private LocalDateTime dateTime;
Run Code Online (Sandbox Code Playgroud)

当 Jackson 尝试解析像2018-11-28T15:24:00.000Z这样的日期时,会抛出异常

com.fasterxml.jackson.databind.JsonMappingException:无法构造 java.time.LocalDateTime 的实例:没有字符串参数构造函数/工厂方法来从字符串值反序列化('2018-11-28T15:24:00.000Z')

在我的 pom.xml 中我有:

  • 春季启动1.5.7
  • 杰克逊数据类型-jdk8
  • 杰克逊数据类型-jsr310

我的 ObjectMapper Bean:

@Bean
public ObjectMapper postConstruct() {
    return this.builder
           .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
            .defaultUseWrapper(false)
            .build();
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

@JsonFormat(pattern = "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'", timezone ="UTC")
private LocalDateTime dateTime;
Run Code Online (Sandbox Code Playgroud)

java jackson spring-boot

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

jackson ×1

java ×1

spring-boot ×1