私が望むのは、クラスのオブジェクトに対して条件付きでデフォルトの BeanSerializer を使用することです:
class MyCustomSerializer extends StdSerializer<AbstractEntity> {
public MyCustomSerializer() {
super(AbstractEntity.class);
}
@Override
public void serialize(AbstractEntity o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
if (someCondition()) {
serializeNormalWay(); //how?
} else {
//custom serialization
}
}
}
私はそのようなことをしようとしました:
serializerProvider.defaultSerializeValue(o, jsonGenerator);
しかし、これは MyCustomSerializer のメソッドを呼び出し、終わりのない再帰があります。通常のBeanシリアライゼーションに使用できる適切なSerializerオブジェクトを取得するにはどうすればよいですか?