Wow..It's a bug. Looks like it was introduced at 1.8.8
works at 1.8.6:
groovy-1.8.6/bin/groovysh new groovy.json.JsonBuilder(new Expando(name:'hello')).toString();
===> {"name":"hello"}
StackoverflowError at 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
Looks like there is a bug filed on 2.1.0rc1: https://issues.apache.org/jira/browse/GROOVY-5918