Jackson-忽略具有特定名称的属性



是否可以根据属性名称将Jackson配置为忽略对象的属性?

我正在用Jackson序列化Hibernate实体,我的JSON文件上的每个对象都带有我想忽略的"hibernateLazyInitializer"属性。此外,许多类都有一个"getFieldsValues"方法,我也想忽略它。

我知道我可以使用Jackson注释来忽略某些属性,但这需要大量的手工操作。但在这种情况下,我需要忽略一个属性,这个属性是许多对象通用的,并且由Jackson自动解析。

根据您在评论中的更新问题描述,我会尝试给出一个更好的参考:

  • 使用注释是最干净的方法,正如几篇关于hibernate增强型POJO的文章中所描述的那样
  • 也可以满足的是在ObjectMapper中设置此项,这将导致空(但存在(字段-CCD_ 1。也许如果你把它和objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); 结合起来,它可能会完全消除这些字段
  • 最后,另一种(但不好的(方法是通过注册一个模块来修改Jackson的行为,该模块将JsonSerializer<T>的实例应用于所有类型的POJO。在该实例中,您将手动取消设置通过使用defaultSerializer创建的JsonNode中的字段。再说一遍,这是个坏主意

最新更新