首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gson StackOverflowError

Gson StackOverflowError
EN

Stack Overflow用户
提问于 2012-11-20 23:44:38
回答 2查看 6.7K关注 0票数 4

我有一个简单的返回类,它要么接受异常,要么接受我们的某个业务对象。如果REST web服务方法抛出异常,它将捕获该异常并在响应中设置该异常。如果不是,它在响应中设置返回值并序列化它。

在我的例子中,我得到了一个包装了我们的一个服务异常的InvocationTargetError。我在我的返回类的异常中设置了这一点,并获得了以下堆栈跟踪:

代码语言:javascript
复制
java.lang.StackOverflowError
com.google.gson.reflect.TypeToken.hashCode(TypeToken.java:280)
java.util.HashMap.get(HashMap.java:300)
java.util.Collections$SynchronizedMap.get(Collections.java:1975)
com.google.gson.Gson.getAdapter(Gson.java:337)
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:55)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
and so on...

有谁有什么想法吗?这看起来像是Gson 2.2.2中的一个bug。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-21 00:51:25

为此,我在google代码站点上创建了一个问题。

http://code.google.com/p/google-gson/issues/detail?id=488

票数 3
EN

Stack Overflow用户

发布于 2012-11-21 08:29:44

Gson不能处理序列化数据中的循环引用。你很有可能有一个。解决了它,你就解决了你的问题。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13476788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档