Я использую Jackson JSON в приложении Spring 3 MVC. Чтобы не сериализовать каждое отдельное поле Date, я создал пользовательский объект, который использует определенный DateFormat:
@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...
}
Этот пользовательский ObjectMapper вводится в JsonConverter:
<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>
В журналах и сериализации нет исключений, но он не подбирает формат даты, он просто сериализуется в метку времени. Работает аннотация @PostConstruct, оператор журнала в методе находится в журналах.
Кто-нибудь знает, почему это не удается?