在尝试使用JSON-ify对象时,我得到了以下异常:
java.lang.RuntimeException:com.fasterxml.jackson.databind.JsonMappingException:没有为类org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer找到序列化程序,也没有发现创建BeanSerializer的属性(为了避免异常,请禁用SerializationFeature。 FAIL_ON_EMPTY_BEANS))
我在其他帖子中阅读了这个例外情况,我想我需要在其中一个课程中使用View.OnClickListener
。但我无法理解问题是什么,我应该注释哪个课程。有人可以向我解释一下吗?
答案 0 :(得分:1)
这是因为hibernate arquitecture,如spring,hibernate使用代理服务对象,而使用javassist,arquitecture用hibernate核心所需的一些东西来装饰对象,并且对你的'用户'代码是“透明的”。杰克逊BeanSerializer可以看到这些东西,并尝试转换它们,他不能。
答案 1 :(得分:0)
我遇到了同样的问题。我使用
解决了objectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
默认情况下,杰克逊将仅使用公共字段或具有公共getter方法的字段。对具有所有私有字段或包私有字段的实体进行序列化将失败。
您可以通过以下方式禁用序列化
objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);