使用objectMapper的Java序列化:使用私有getter进行序列化



我有一个带有私有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);

最新更新