有两个简单的类
public class A { private int propId; public int getPropId(){return this.propId;} }
public class B extends A { }
和两个mixin
public interface AMixin{ @JsonProperty("propIdA") int getPropId();}
public interface BMixin{ @JsonProperty("propIdB") int getPropId();}
jsonObjectMapper = new ObjectMapper();
// register mixin
jsonObjectMapper.addMixIn(B.class, BMixin.class);
jsonObjectMapper.addMixIn(A.class, AMixin.class);
以下两个调用得到相同的结果:
jsonObjectMapper.writeValue(writer, new A());
jsonObjectMapper.writeValue(writer, new B());
但我希望propIdA用于第一个,propIdB用于第二个。