jackson 使用objectMapper的Java序列化:使用专用getter串行化器

8yoxcaq7  于 2022-11-08  发布在  Java
关注(0)|答案(1)|浏览(110)

我有一个私有字段,它有一个私有的getter方法(因为我希望防止其他用户在这个类之外使用getter,而我在这个类中有一个这个getter的用例),但是我希望这个字段可以用objectMapper序列化。什么是好的方法呢?如果有任何想法,我将不胜感激!

@Data
public class TestClass{
    @Getter(AccessLevel.PRIVATE)
    private String field
}
gv8xihay

gv8xihay1#

ObjectMapper默认情况下只序列化公共字段,但您可以使用setVisibility方法更改它。您可以这样做:

TestClass testClass = new TestClass("field");
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
objectMapper.writeValueAsString(testClass);

相关问题