Spring Boot LocalDate 字段序列化和反序列化

新手上路,请多包涵

在带有fastxml的Spring Boot 1.2.3.RELEASE中,将 LocalDate 字段序列化和反序列化为ISO日期格式字符串的正确方法是什么?

我试过了:

  • spring.jackson.serialization.write-dates-as-timestamps:false 在 application.properties 文件中,

  • 在项目中包括 jackson-datatype-jsr310 ,然后使用

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

    • @DateTimeFormat(iso=ISO.DATE) 注释,

  • 添加 Jsr310DateTimeFormatAnnotationFormatterFactory 作为格式化程序:

   @Override
  public void addFormatters(FormatterRegistry registry) {
      registry.addFormatterForFieldAnnotation(new Jsr310DateTimeFormatAnnotationFormatterFactory());
  }

以上都没有帮助。

原文由 aycanadal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 822
1 个回答
compile ("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")

在 build.gradle 中,然后以下注释有帮助:

 @JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDate birthday;

更新:如果您使用的是 Spring Boot 2.*,则依赖项已通过“启动器”之一包含在内。

原文由 aycanadal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进