Java spring boot中的json日期格式
我使用的是SpringBoot,我有一个实体类定义如下Java spring boot中的json日期格式,java,spring-boot,Java,Spring Boot,我使用的是SpringBoot,我有一个实体类定义如下 import org.joda.time.LocalDateTime; @Entity public class Project { @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime") private LocalDateTime start_date; ... ... } 当该类转换为JSON时,该字段将转换为以下字符串
import org.joda.time.LocalDateTime;
@Entity
public class Project {
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime")
private LocalDateTime start_date;
...
...
}
当该类转换为JSON时,该字段将转换为以下字符串表示形式
{"start_date":[2014,11,15,0,0,0,0],...., ...}
我希望json响应为yyyy-MM-dd
我尝试了@DateTimeFormat(iso=iso.DATE)
注释,但也没有任何帮助
有没有一种简单的方法可以将日期转换为正确的json格式?要将日期格式化为
yyyy-MM-dd
,需要做三件事:
com.fasterxml.jackson.datatype:jackson数据类型joda
上添加依赖项。从你目前得到的结果来看,我认为你可能已经有了这种依赖性spring.Jackson.serialization.write-dates-as-timestamps:false
添加到应用程序.properties
文件中,配置Jackson不将日期格式化为时间戳@JsonFormat(pattern=“yyyy-MM-dd”)
注意:您需要使用Spring Boot 1.2才能执行第2步。没有额外的依赖关系-我唯一要做的是:
使用Spring Boot 2.3.5版本
更新 另一个选项,而不是步骤2,要修改application.properties文件,请在其中添加任何日期对象的格式:
spring.jackson.date format=yyyy/MM/dd您可以在中使用@JsonFormat注释,并且像这样使用所需的模式,而无需使用任何依赖项:
@JsonFormat(pattern="yyyy-MM-dd")
private Date created_At;
非常感谢。我必须升级到Spring1.2,然后在application.yaml文件中添加属性,这对我来说很有效。不需要@JsonFormat注释您必须在application.yaml中添加哪个属性才能更改日期格式?步骤3似乎没有必要(这是默认格式)。如果你尝试任何其他格式,实际上都是无效的。我仍在调查,但它似乎甚至没有查看JsonFormat注释
@JsonFormat(pattern="yyyy-MM-dd")
private Date created_At;