我有一个老类,其中有许多字段要从JSON转换为JSON。这些二传手不是纯粹的,所以我使所有二传手都不可见。
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE);
objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
objectMapper.setVisibility(PropertyAccessor.CREATOR, JsonAutoDetect.Visibility.ANY);
但是有一个设置器实际上设置了两个字段,我需要使其可见。
private String a;
private transient String b;
public void setA(String a)
{
this.a = a;
this.b = convertFrom(a);
}
所有二传手都是公开的。如何使所有的二传手都不可见,而只有一个二传手可见?
答案 0 :(得分:1)
建议的编辑:如ExceptionHandler所建议,您可以通过两种方式忽略属性:
由于您不想执行繁琐的字段级任务,因此可以通过忽略以下类似的字段来实现:
您可以在类级别忽略所有字段或使用@JsonIgnoreProperties
注释指定的字段。只是不要提及您要反序列化的field/s
。
像这样:
@JsonIgnoreProperties({ "field1", "field2", "field3" })
public class YourClass{
private String field1;
private String field2;
private String field3;
...
}