2011-10-06 70 views
0

我想在Grails(2.0.0.M2)控制台中使用Groovy JSONBuilder。当我执行以下在Grails控制台中的JSONBuilder

import grails.web.JSONBuilder     

def builder = new JSONBuilder() 

def result = builder.build { 
    foo = 'bar'  
} 

result.toString() 

我得到的错误:

org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'bar' with class 'java.lang.String' to class 'grails.converters.JSON'

at grails.web.JSONBuilder.build(JSONBuilder.groovy:39)

建设者似乎工作的应用程序本身的罚款。有没有理由不在控制台中工作?

回答

0

虽然我正在使用JSONBuilder,但我遇到了类似的问题,于是我决定不使用JSONBuilder。如果你不需要,你可以改变你的建设者。

import org.codehaus.groovy.grails.web.json.*; 
import grails.converters.JSON;    

def result =[:] 
result.foo='bar' 

println result as JSON 

它的结果是一样的。

+0

我的真实例子要复杂得多,不能轻易用Map完成 –

+0

我有4级JSON,我可以使用它。我没有遇到任何问题。 – erimerturk