5 Stimmen

Jackson serializationConfig

Ich verwende Jackson JSON in einer Spring 3 MVC Anwendung. Um nicht jedes einzelne Datumsfeld zu serialisieren, habe ich einen benutzerdefinierten Objectmapper erstellt, der ein bestimmtes DateFormat verwendet:

@Component("jacksonObjectMapper")
public class CustomObjectMapper extends ObjectMapper
{
    Logger log = Logger.getLogger(CustomObjectMapper.class);

    @PostConstruct
    public void afterProps()
    {
        log.info("PostConstruct... RUNNING");
        //ISO 8601
        getSerializationConfig().setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SZ"));

    }

    //constructors...

}

Dieser benutzerdefinierte ObjectMapper wird in den JsonConverter injiziert:

<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
    <property name="supportedMediaTypes" value="application/json" />
    <property name="objectMapper" ref="jacksonObjectMapper" /> <!-- defined in CustomObjectMapper -->
</bean>

In den Protokollen gibt es keine Ausnahmen und die Serialisierung funktioniert, aber das Datumsformat wird nicht übernommen, sondern es wird einfach ein Zeitstempel serialisiert. Die @PostConstruct-Anmerkung funktioniert, die Protokollanweisung in der Methode ist in den Protokollen enthalten.

Weiß jemand, warum dies nicht funktioniert?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X