0

次のコードを使用してコントローラーでカスタム json 出力を作成しようとしていますが、クロム レスト クライアントで「予期しないトークン <」というエラーが発生します。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) }
    }

}
4

1 に答える 1

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)
        }
于 2013-03-13T08:47:38.397 に答える