我有一个带有私有getter方法的私有字段(因为我希望防止其他用户在这个类之外使用getter,而我在这个类中有这个getter的用例(,但我希望使用objectMapper序列化该字段。做这件事的好方法是什么?如果有任何想法,我将不胜感激!
@Data
public class TestClass{
@Getter(AccessLevel.PRIVATE)
private String field
}
ObjectMapper默认情况下只序列化公共字段,但您可以使用setVisibility
方法进行更改。你可以这样做:
TestClass testClass = new TestClass("field");
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
objectMapper.writeValueAsString(testClass);