Java 如何在Hashmap中使用扩展Jackson MapSerializer
我正试图延长期限 com.fasterxml.jackson.databind.ser.std.MapSerializer,以包括我自己定义的一些函数,这些函数将在serialize方法中使用Java 如何在Hashmap中使用扩展Jackson MapSerializer,java,map,jackson,Java,Map,Jackson,我正试图延长期限 com.fasterxml.jackson.databind.ser.std.MapSerializer,以包括我自己定义的一些函数,这些函数将在serialize方法中使用 public class MyMapSerializer extends MapSerializer{ //have constructors //override method @Override public void serialize(Map<?,?>
public class MyMapSerializer extends MapSerializer{
//have constructors
//override method
@Override
public void serialize(Map<?,?> value, JsonGenerator jgen, SerializerProvider provider){}
}
然后,我将注释添加到地图中,如下所示:
@JsonSerialize(using = org.entities.generator.MyMapSerializer.class)
private Map<ObjectA,ObjectB> myObject;
但是,当我在MapSerializer中添加断点时,它甚至不会进入其中。
我试着扩展JsonSerializer>,它进入了其中。
有人知道如何使用扩展的MapSerializer吗?
感谢您的帮助我不建议尝试对Jackson的默认序列化程序进行子类化:这是脆弱的 但如果您确实想这样做,请看一看MapSerializer:我猜它的CreateContextent方法最终会构造一个不同配置的实例。您可能需要重写处理此类实例创建的其他方法之一;您只需要这些来构造MyMapSerializer的实例,而不是默认的MapSerializer