在对 DataType 类进行序列化时,忽略 dbOptions,但正在打印 dataType 及其值。
注意我只需要在序列化而不是反序列化期间忽略这些属性。
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "dataType")
@JsonSubTypes(value = {
@JsonSubTypes.Type(value = DefaultType.class, name = "Default"),
@JsonSubTypes.Type(value = NumberRangeType.class, name = "NumberRange"),
})
public abstract class DataType {
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
protected String dataType;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
protected String dbOptions;
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
public String getDbOptions() {
return dbOptions;
}
public void setDbOptions(String dbOptions) {
this.dbOptions = dbOptions;
}
abstract
public void compute() throws ParseException;
}
样本输出为:
"options":{"dataType":"NumberRange","id":"1","min":0,"max":30}
不希望 dataType 在输出中打印