gpt4 book ai didi

jackson - 无法使用 Jackson 将 java.time.LocalDate 序列化为字符串

转载 作者:行者123 更新时间:2023-12-02 18:40:01 26 4
gpt4 key购买 nike

我正在使用 spring-boot 1.2.1.RELEASE 和 jackson 2.6.2,包括 jsr310 数据类型。我正在使用注释 @SpringBootApplication 来启动我的 Spring 应用程序。我有

spring.jackson.serialization.write_dates_as_timestamps = false

在我的application.properties中设置(我知道它正在被读取,因为我用banner = false进行了测试)。

然而 java.time.LocalDate 仍然被序列化为整数数组。我没有使用@EnableWebMvc。

看起来如果我添加标签

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")

到我的 LocalDate 变量然后它就可以工作了。但我认为上面的属性设置是自动的。另外,如果我没记错的话(我从那时起就决定使用整数数组),那只适用于序列化而不是反序列化(但老实说我不太记得最后一部分是否正确)。

最佳答案

这是know issue在 Spring Boot 中。您需要手动完成。

objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);

或更新至1.2.2。

更新:还有一个way to configure ObjectMapper由 spring 从容器中使用。

关于jackson - 无法使用 Jackson 将 java.time.LocalDate 序列化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32952269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com