我正在使用:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private LocalDate date;
但是它不起作用...
我在soapUi中收到的是:
"date": {
"year": 1995,
"month": "OCTOBER",
"dayOfMonth": 10,
"dayOfWeek": "TUESDAY",
"era": "CE",
"dayOfYear": 283,
"leapYear": false,
"monthValue": 10,
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
},
我不需要对象映射器吗?
有没有一种方法可以只使用注释?
答案 0 :(得分:0)
要反序列化Java8的LocalDateTime
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
@JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate dateOfBirth;
在项目中使用以下依赖项时。
Maven
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.9.7</version>
</dependency>
成绩
compile "com.fasterxml.jackson.core:jackson-databind:2.9.7"
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.7"
不需要反序列化器的其他实现。
答案 1 :(得分:-1)
具体地说,@JsonFormat
允许您指定如何根据SimpleDateFormat格式设置日期和日历值的格式。
代替使用LocalDate,使用Date然后将语言环境指定为该注释的参数。
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "en_GB")
public Date getCurrentDate() {
return new Date();
}