当前位置: 首页 > 面试题库 >

Spring Boot中的JSON Java 8 LocalDateTime格式

松烨烨
2023-03-14
问题内容

我在Spring Boot应用程序中格式化Java 8
LocalDateTime时遇到一个小问题。对于“正常”日期,我没有问题,但是LocalDateTime字段转换为以下内容:

"startDate" : {
    "year" : 2010,
    "month" : "JANUARY",
    "dayOfMonth" : 1,
    "dayOfWeek" : "FRIDAY",
    "dayOfYear" : 1,
    "monthValue" : 1,
    "hour" : 2,
    "minute" : 2,
    "second" : 0,
    "nano" : 0,
    "chronology" : {
      "id" : "ISO",
      "calendarType" : "iso8601"
    }
  }

虽然我想将其转换为:

"startDate": "2015-01-01"

我的代码如下所示:

@JsonFormat(pattern="yyyy-MM-dd")
@DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
public LocalDateTime getStartDate() {
    return startDate;
}

但是以上任何一个注释均无法正常工作,日期的格式仍与上面一样。建议欢迎!


问题答案:

更新 :Spring Boot
2.x不再需要此配置。我在这里写了一个最新的答案。

(这是在Spring Boot 2.x之前执行此操作的方式,这对于使用较旧版本的Spring Boot的人员可能有用)

我终于在这里找到了如何做。要修复它,我需要另一个依赖项:

compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")

通过包括这种依赖关系,Spring会自动注册一个转换器,它作为描述在这里。之后,您需要将以下内容添加到application.properties中:

spring.jackson.serialization.write_dates_as_timestamps=false

这将确保使用正确的转换器,并且日期将以以下格式打印 2016-03-16T13:56:39.492

仅在要更改日期格式的情况下才需要注释。



 类似资料:
  • 我在REST项目(SpringBoot+Hibernate)中生成的JSON响应中有一个日期格式的问题。 当我调用function时,得到的JSON如下所示: 我的实体:

  • 我想要的是这样的JSON格式: 现在我把我的代码: 我的基本数据结构定义在实体包中,使用方法可以返回字符串类型的blog标题: 模型视图中,在这个类中,我使用,它的工作原理是: 服务类代码,我使用JPA方法从MySQL:: 那么,我如何通过获得JSON格式字符串列表

  • 我使用SpringBoot start构建了一个用于学习的项目 但是当我添加由mybatis生成器生成的orm文件时,它启动失败。 例如: 我已经配置了mybatis locationmapper属性和sqlSessionFactoryBean 这是我的application.properties文件:

  • 本文向大家介绍SpringBoot中的Thymeleaf用法,包括了SpringBoot中的Thymeleaf用法的使用技巧和注意事项,需要的朋友参考一下 Thymeleaf Thymeleaf是最近SpringBoot推荐支持的模板框架,官网在thymeleaf.org这里。 我们为什么要用Thymeleaf来作为模板引擎呢?官网给了我们一个非常令人信服的解释: Thymeleaf is a m

  • 本文向大家介绍SpringBoot中的Thymeleaf模板,包括了SpringBoot中的Thymeleaf模板的使用技巧和注意事项,需要的朋友参考一下 一、前言     Thymeleaf 的出现是为了取代 JSP,虽然 JSP 存在了很长时间,并在 Java Web 开发中无处不在,但是它也存在一些缺陷: 1、JSP 最明显的问题在于它看起来像HTML或XML,但它其实上并不是。大多数的JS

  • 我有一个控制器 服务接口 我想在我的控制器中使用@autowired来使用该服务,但当我运行应用程序时,我得到以下错误 org.springframework.beans.factory.beanCreationException:创建名为“demo application”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Facto

  • null 非常感谢你的帮助

  • springboot项目中一个实体类声明了如下的日期类型属性 那么前端传递参数时必须带有时间,否则后台会报错。我的目标是能否不使用上面两个注解,不管前端传递来的该属性带不带时间都可以正常保存到数据库中(如果没有时间则后台自动补齐00:00:00,或者没有时间也能正常保存到MYSQL的话java就不做补齐的工作了)。要实现这个目标我要如何做?还有就是有个之前的老项目是spingmvc的项目(前端页面