6

Spring REST フレームワークと Jackson JSON を使用しています

<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
 <property name="objectMapper" ref="customObjectMapper" /> 
 <property name="supportedMediaTypes" value="application/json" />
</bean>
<bean id="customObjectMapper"class="com.rackspace.payment.webapp.utils.JaxbJacksonObjectMapper" />

public class JaxbJacksonObjectMapper extends ObjectMapper {
    @SuppressWarnings("deprecation")
    public JaxbJacksonObjectMapper() {
        final AnnotationIntrospector introspector = new JaxbAnnotationIntrospector();

        this.configure(org.codehaus.jackson.map.DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true);
        super.getDeserializationConfig().withAnnotationIntrospector(introspector);

        this.configure(org.codehaus.jackson.map.SerializationConfig.Feature.WRITE_NULL_PROPERTIES, false);
        this.configure(org.codehaus.jackson.map.SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
        super.getSerializationConfig().withAnnotationIntrospector(introspector);
    }
}


//JXAB element
@XmlAttribute(name = "createDate")
@XmlJavaTypeAdapter(CustomDateAdapter.class)
protected Date createDate;

私が直面している問題は、JSON 出力が表示されるときに「createDate」要素が文字列のように表示され、xml アダプター クラスが呼び出されないのに対し、XML 出力では正常に動作することです。

私は何が欠けていますか?JSON 形式で XmlJavaTypeAdapter を呼び出す方法。

4

1 に答える 1