Jackson 2.3.2: Issue with deserializing a Date despite of setting the date format to ObjectMapper
I got the same error, this solved my problem
mapper.setDateFormat(myDateFormat)
http://wiki.fasterxml.com/JacksonFAQDateHandling
Admin
Updated on July 09, 2022Comments
-
Admin almost 2 years
I am using rest easy and want to serialize and deserialize dates.
After creating my json provider, Serializing is working fine but deserializing is still not working.
My JsonProvider class:
@Provider @Produces(MediaType.APPLICATION_JSON) public class JsonProvider extends JacksonJaxbJsonProvider { public JsonProvider() { ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.setDateFormat("dd MMM, yyyy hh:mm:ss a"; super.setMapper(mapper); } }
Input date: 09 Sep, 2014 11:00:00 AM
Error: com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of java.util.Date from String value '09 Sep, 2014 11:00:00 AM': not a valid representation (error: Failed to parse Date value '09 Sep, 2014 11:00:00 AM': Can not parse date "09 Sep, 2014 11:00:00 AM": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))
I came across this workaround but if I use this then I have to annotate every date field in my app which I feel is an overhead.
I am not able to figure out what I am doing wrong.
Any help would be appreciated.
Thanks.