【发布时间】:2018-05-19 11:56:55
【问题描述】:
如何反序列化 Java 8 time API 类?
这是我所做的:
包含的依赖:compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
要反序列化的请求体:
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.joda.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
public class TestRequest {
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "YYYY-MM-dd")
LocalDate localDate;
}
弹簧控制器:
public ResponseEntity test(@RequestBody TestRequest testRequest) {
return ResponseEntity.ok(testRequest);
}
JSON 请求正文:
{ "localDate": "2017-11-01" }
例外:
com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of TestRequest, problem: argument type mismatch
【问题讨论】:
标签: json spring java-8 jackson