Grails中视图的JSON输出

dal*_*liz 5 grails json controller

好的,我在Grails中创建了一个非常简单的应用程序.我有一个生成的域类(Person)及其生成的控制器,使用自动Grails脚手架:

package contacts

class PersonController {

    def scaffold = Person

}
Run Code Online (Sandbox Code Playgroud)

现在我想得到一个Person对象的JSON表示.

我是否必须更改视图或控制器?如何?

谢谢.

Llo*_*olz 9

将以下内容添加到您的控制器:

def list = {
    params.max = Math.min(params.max ? params.int('max') : 10, 100)
    def personList = Person.list(params)
    withFormat {
        html {
            [personInstanceList: personList, personInstanceTotal: Person.count()]
        }
        json {
            render personList as JSON
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该支持你的脚手架和JSON输出.

您可以访问脚手架:

HTTP://本地主机:8080 /联系人/人/列表

您可以使用以下命令访问人员列表:

HTTP://本地主机:8080 /联系人/人/列表格式= JSON

还有其他方法可以做到这一点,但我喜欢这样做以留下脚手架进行测试.