Deserialize "Zulu" time in ISO8601 format in jackson
<p>I have a need to de-serialize time of format <strong>2016-11-28T10:34:25.097Z</strong> using Jackson into ZonedDateTime of Java8. </p>

<p>I believe I correctly configured ObjectMapper (a factory method):</p>

<pre><code> @Bean
ObjectMapper getObjectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    // some other config...
    objectMapper.registerModule(new JavaTimeModule());
    return objectMapper;
}
</code></pre>

<p>And I have in my code for DTO a field </p>

<pre><code>  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
private ZonedDateTime updatedAt;
</code></pre>

<p>when I try to parse this by Jackson, I get</p>

<pre><code> java.lang.IllegalArgumentException: Can not deserialize value of type java.time.ZonedDateTime 
 from String "2016-11-28T10:34:25.097Z": Text '2016-11-28T10:34:25.097Z' could not be parsed,
 unparsed text found at index 23  at [Source: N/A; line: -1, column: -1]  
</code></pre>

<p>Without @JsonFormat problem remains.</p>

<p>How I could possibly overcome this?</p>