将 Jackson 配置为仅使用字段:综合解决方案
将对象序列化和反序列化为 JSON 时,Jackson 默认情况下同时使用 getter/setter (属性)和字段。但是,有时您可能更愿意仅依赖字段来执行此过程。以下是实现此目的的方法:
在单个类级别上,您可以使用 @JsonAutoDetect 注释控制行为,如问题中所述。对于全局配置,您可以按如下方式自定义 ObjectMapper:
ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility( mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.NONE) .withCreatorVisibility(JsonAutoDetect.Visibility.NONE) );
如果您需要全局访问已配置的映射器,请考虑使用包装器类进行集中配置。
以上是如何将 Jackson 配置为仅使用字段进行 JSON 序列化和反序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!