以下代码工作正常
def json = new JsonBuilder()
json {
writeNumbers(delegate, "myNumbers")
}
println json.toPrettyString()
def writeNumbers(json, name) {
json."$name" {
"w" 32
"h" 32
}
}
但是,一旦我在另一个“范围”内移动或添加 writeNumbers 调用,就会出现 stackoverflow 异常;就像这样
def json = new JsonBuilder()
json {
scopes {
writeNumbers(delegate, "myNumbers")
}
}
println json.toPrettyString()
def writeNumbers(json, name) {
json."$name" {
"w" 32
"h" 32
}
}
结果:
Caught: java.lang.StackOverflowError
java.lang.StackOverflowError
为什么会发生这种情况,我该如何解决?谢谢