我想要的是有条件地为我的类的对象使用默认的 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 序列化?