cfx開発jacksonカスタムjsonのシーケンス化と逆シーケンス化構成
ステップ1:mavenリファレンス
ステップ2:拡張ObjectMapperを作成するシーケンス化と逆シーケンス化の過程で、jsonフォーマットをカスタマイズしたい場合は、構成を統一することで実現できます.自分でクラスを作成してorgを拡張することができます.codehaus.jackson.mapパッケージのObjectMapperクラス.次のコードブロックで、カスタムJacksonObjectMapperクラスを作成します.
DeserializationConfig.FeatureとSerializationConfig.Featureには多くの設定があり、自分のニーズに合わせて選択的に設定することができます.
ステップ3:xmlファイルにJacksonObjectMapper Beanを注入する
これにより、jsonproviderは、カスタム変換形式でシーケンス化および逆シーケンス化されます.
<dependency>
<groupId>org.codehaus.jacksongroupId>
<artifactId>jackson-jaxrsartifactId>
<version>1.9.13version>
dependency>
ステップ2:拡張ObjectMapperを作成するシーケンス化と逆シーケンス化の過程で、jsonフォーマットをカスタマイズしたい場合は、構成を統一することで実現できます.自分でクラスを作成してorgを拡張することができます.codehaus.jackson.mapパッケージのObjectMapperクラス.次のコードブロックで、カスタムJacksonObjectMapperクラスを作成します.
package com.divx.service.controller;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
public class JacksonObjectMapper extends ObjectMapper{
public JacksonObjectMapper() {
super();
// UNWRAP_ROOT_VALUE true, , client json ,
super.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true);
// WRITE_NULL_PROPERTIES false, json
super.configure(SerializationConfig.Feature.WRITE_NULL_PROPERTIES, false);
super.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
}
}
DeserializationConfig.FeatureとSerializationConfig.Featureには多くの設定があり、自分のニーズに合わせて選択的に設定することができます.
ステップ3:xmlファイルにJacksonObjectMapper Beanを注入する
id = "jacksionMapper" class="com.divx.service.controller.JacksonObjectMapper"/>
id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" >
<property name="mapper" ref="jacksionMapper">property>
これにより、jsonproviderは、カスタム変換形式でシーケンス化および逆シーケンス化されます.