当我尝试序列化Expando时,我得到一个StackoverflowError(没有追溯到我的代码).用groovy
shell重现:
@H_502_16@解决方法
... 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上存在一个错误