是否可以根据属性名称将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中的字段。再说一遍,这是个坏主意