![](/img/trans.png)
[英]Could not read document: N/A com.fasterxml.jackson.databind.JsonMappingException
[英]How to solve the com.fasterxml.jackson.databind.JsonMappingException?
嘗試對對象進行JSON修飾時,出現以下異常:
java.lang.RuntimeException:com.fasterxml.jackson.databind.JsonMappingException:未找到類org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer的序列化器,也未發現創建BeanSerializer的屬性(為避免異常,請禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)
我在其他帖子中讀到了有關此異常的信息,我認為我需要在我的一個課程中使用@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
。 但是我不明白問題是什么,我應該注釋哪個班級。 有人可以向我解釋嗎?
造成這種情況的原因是,像spring一樣,hibernate的arquitecture會使用代理來服務對象,而javassist的arquitecture會使用hibernate核心所需的某些東西來裝飾對象,這些東西對於您的“用戶”代碼是“透明的”。 Jackson BeanSerializer可以看到這些內容並嘗試將其轉換,但他不能。
我遇到了同樣的問題。 我通過使用解決了
objectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
默認情況下,Jackson僅適用於公共字段或具有公共getter方法的字段,序列化具有所有私有字段或私有包的實體將失敗。
您可以通過以下方式禁用序列化
objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.