我有以下内容:
render(builder: "json") {
template(message:'hello', dateCreated:'someDate') {
resources {
resource(id: "123")
resource(id: "456")
}
}
}
我在Firebug中获得以下内容:
{"template":{"message":"hello","dateCreated":"someDate"}}
我无法弄清楚为什么我没有得到资源集合。
答案 0 :(得分:1)
我通常只是创建一个具有我想要的结构的地图,然后将其渲染为JSON。
import grails.converters.JSON
def data = [template: [message: 'hello', dateCreated: 'someDate', resources: [[id: "123"], [id:"456"]]]]
render data as JSON
不确定这是否是您正在寻找的确切结构,但它为您提供
{"template":{"message":"hello","dateCreated":"someDate","resources":[{"id":"123"},{"id":"456"}]}}
你可以在这里看到一个例子:
答案 1 :(得分:1)
我怀疑resource(id: "123")
正在被解析为对g.resource
taglib的调用。您可以尝试以下方法(或将资源重命名为其他内容):
render(builder: "json") {
template(message:'hello', dateCreated:'someDate') {
resources {
'resource'(id: "123")
'resource'(id: "456")
}
}
}