您的位置:首页 > 理论基础 > 计算机网络

HttpMessageNotWritableException: Could not write JSON: No serializer found for class ****

2016-02-04 09:49 671 查看
今天碰到一个异常,下面是错误信息

org.springframework.http.converter.HttpMessageNotWritableException:
Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )
(through reference chain: com.risejoin.framework.web.view.params.DataGridResponse["aaData"]
->java.util.ArrayList[0]
->com.risejoin.adminplatform.operationcenter.domain.house.Buildings["subwayAround"]
->org.hibernate.collection.internal.PersistentSet[0]
->com.risejoin.adminplatform.operationcenter.domain.house.SubWayStation["subWay"]
->org.hibernate.collection.internal.PersistentSet[0]
->com.risejoin.adminplatform.operationcenter.domain.house.SubWay["city"]
->com.risejoin.adminplatform.operationcenter.domain.commons.City_$$_javassist_18["handler"]);

nested exception is com.fasterxml.jackson.databind.JsonMappingException:
No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )
(through reference chain: com.risejoin.framework.web.view.params.DataGridResponse["aaData"]
->java.util.ArrayList[0]
->com.risejoin.adminplatform.operationcenter.domain.house.Buildings["subwayAround"]
->org.hibernate.collection.internal.PersistentSet[0]
->com.risejoin.adminplatform.operationcenter.domain.house.SubWayStation["subWay"]
->org.hibernate.collection.internal.PersistentSet[0]
->com.risejoin.adminplatform.operationcenter.domain.house.SubWay["city"]
->com.risejoin.adminplatform.operationcenter.domain.commons.City_$$_javassist_18["handler"])


根据提示,大致的意思应该是City类在转化为json时,有属性值是null,最后我在City类中加入了下面的一句代码
@JsonIgnoreProperties({ "handler","hibernateLazyInitializer" })


问题得到了解决,需要值得注意的是:我的工程中有两个JsonIgnoreProperties注解,分别是:
org.codehaus.jackson.annotate.JsonIgnoreProperties;
和com.fasterxml.jackson.annotation.JsonIgnoreProperties;
应该使用com.fasterxml.jackson.annotation.JsonIgnoreProperties;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: