对于Jackson的ObjectMapper,我看过一些自定义对象序列化器的示例,如下所示:
objectMapper.registerModule(new SimpleModule().addSerializer(MyClass.class, new MyClassSerializer()));
...
public class MyClassSerializer extends JsonSerializer<MyClass> {
@Override
public void serialize(MyClass value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
...
}
}
如果您知道要为其使用自定义序列化逻辑的类类型,则此方法非常好用。但是,我想告诉ObjectMapper在序列化期间排除任何字段,这些字段的字段名称中包含单词“ encryption”,无论其类类型如何。纵观ObjectMapper的方法,我看到许多看起来很有希望的方法...但是它们都采用类类型。有什么方法可以基于字段名称实现此自定义序列化?
另外,请不要告诉我将@JsonIngore
或类似的内容放在要序列化的类本身上。这些类是自动生成的,无法进行编辑,因此,为什么要尝试找出一种在ObjectMapper自身上进行配置的方法。