Grails - 在控制器中生成自定义JSON时出错

时间:2013-03-13 08:24:44

标签: json grails groovy

我正在尝试使用以下代码在控制器中创建自定义json输出但是收到错误“Unexpected token<”在chrome rest客户端中。相同的代码适用于xml。

def customJSON = {

    def a = Student.list().get(0)

    render(contentType:"application/json"){

        student(){ name(a.firstName) }
    }

}

def customXml = {

    def a = Student.list().get(0)

    render(contentType:"text/xml"){

        student(){ name(a.firstName) }
    }

}

1 个答案:

答案 0 :(得分:1)

您的代码会导致以下异常:

Message: Array elements must be defined with the "element" method call eg: element(value)
    Line | Method
->>   98 | invokeMethod      in grails.web.JSONBuilder

问题是grails发送带有异常内容的HTML响应,但使用'application / json'作为内容类型。所以客户认为这是一个无效的JSON响应。

以下代码应该有效:

def a = Student.list().get(0)

render(contentType:"application/json"){
            student(name : a.firstName)
        }