As already mentioned, Jackson-Datatype-JSR310 provides support for Java 8 Time.
Since Jackson 2.6.0 the "old" JSR310Module is deprecated. It is replaced by JavaTimeModule. Maven dependency is the same (you can find the current version in Maven Central):
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.6.0</version>
</dependency>
You have to register the module like this:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
Or like this:
ObjectMapper mapper = new ObjectMapper();
mapper.findAndRegisterModules();
Or like this (since 2.10 possible):
ObjectMapper mapper = JsonMapper.builder()
.findAndAddModules()
.build();
Note that as of 2.6, this module does NOT support auto-registration, because of existence of legacy version, JSR310Module. Legacy version has the same functionality, but slightly different default configuration: see com.fasterxml.jackson.datatype.jsr310.JSR310Module for details.
JavaTimeModule Source at GitHub
JavaTimeModule Usage
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…