2014-09-11 16 views
7

Sto usando il resto facile e desidero serializzare e deserializzare le date.Jackson 2.3.2: Problema con deserializzazione di una data nonostante l'impostazione del formato della data su ObjectMapper

Dopo aver creato il provider JSON, la serializzazione funziona correttamente ma la deserializzazione non funziona ancora.

La mia classe JsonProvider:

@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); 
    } 
} 

Data di ingresso: 9 settembre 2014 11:00:00

Errore: com.fasterxml.jackson.databind.exc.InvalidFormatException : Impossibile costruire l'istanza di java.util.Date dal valore String '09 Set, 2014 11:00:00 AM ': non una rappresentazione valida (errore: Impossibile analizzare il valore Date '09 Set 2014 2014: 00 AM ': Impossibile analizzare la data "09 set 2014 2014 AM": non compatibile con nessuno dei moduli standard ("aaaa-MM-gg'T'HH: mm: ss.SSSZ", "aaaa-MM- dd'T'HH: mm: ss.SSS'Z '", "EEE, dd MMM yyyy HH: mm: ss zzz", "yyyy-mM-dd"))

mi sono imbattuto in this soluzione, ma se Io uso questo, quindi devo annotare ogni campo della data nella mia app che ritengo sia un overhead.

Non riesco a capire cosa sto facendo male.

Qualsiasi aiuto sarebbe apprezzato.

Grazie.

risposta

Problemi correlati