注釈を使用して、Beanプロパティのカスタムシリアライザ/デシリアライザを定義します。ここで
は、カスタムシリアライザ/デシリアライザクラスを定義し、Beanの例です:
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
public class User {
@JacksonXmlProperty
private String login;
@JacksonXmlProperty
@JsonSerialize(using=your.class.package.PasswordSerializer.class)
@JsonDeserialize(using=your.class.package.PasswordDeserializer.class)
private String password;
// ...
}
そしてここクスト、シリアライザ例:
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
import java.io.IOException;
public class PasswordSerializer extends JsonSerializer<String> {
@Override
public void serialize(String s, JsonGenerator jg, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
// do your staff here.
}
}
あなただけのインターフェイスを実装する必要がありますあなたは適切なパッケージで行うことができます。
デシリアライザも同様です。
アノテーション* @ JsonSerialize *および* @ JsonDeserialize *を使用して、特定のインターフェイスを実装する特定のクラスを設定できます。だから、これらのクラスにすべてのシリアライズ/デシリアライズを入れることができます。 –
@JsonDeserializeは有望ですが、私は今のところそれをどのように使用するのか分かりません。私はもっと深く見ていきます。 –