有两个简单的calsses
public class A { private int propId; public int getPropId(){return this.propId;} }
public class B extends A { }
和两个mixins
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 为第二个。