加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么在Groovy JsonBuilder尝试序列化Expando时会出现Stackover

发布时间:2020-12-14 16:22:04 所属栏目:大数据 来源:网络整理
导读:当我尝试序列化Expando时,我得到一个StackoverflowError(没有追溯到我的代码).用groovy shell重现: ... groovy-2.0.6/bin/groovysh new groovy.json.JsonBuilder(new Expando(name:'hello')).toString()FATAL: java.lang.StackOverflowErrorjava.lang.Stack
当我尝试序列化Expando时,我得到一个StackoverflowError(没有追溯到我的代码).用groovy shell重现:

... groovy-2.0.6/bin/groovysh new groovy.json.JsonBuilder(new Expando(name:'hello')).toString()
FATAL: java.lang.StackOverflowError
java.lang.StackOverflowError
        at java.lang.Exception.<init>(Exception.java:77)
        at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:54)
        at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
...

这应该正常吗?

解决方法

哇..这是一个错误.看起来它是在1.8.8引入的

工作在1.8.6:

groovy-1.8.6/bin/groovysh new groovy.json.JsonBuilder(new Expando(name:'hello')).toString();

===> {"name":"hello"}

StackoverflowError为1.8.8:

groovy-1.8.8/bin/groovysh new groovy.json.JsonBuilder(new Expando(name:'hello')).toString();
FATAL: java.lang.StackOverflowError
java.lang.StackOverflowError

看起来在2.1.0rc1:http://jira.codehaus.org/browse/GROOVY-5918上存在一个错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读