我知道我可以自定义向域实体注册JSON marshallers的JSON响应,即使我可以创建具有不同响应名称的配置文件。
这样就完成了一个后来将被编组的数组,如:
JSON.registerObjectMarshaller(myDomain) {
def returnArray = [:]
returnArray['id'] = it.id
returnArray['name'] = it.name
returnArray['price'] = it.price
return returnArray
}
我想要的是改变它被编组的方式,有两个部分,如
{
"paging": {
"total": 100
},
"data": [
{
"id": 1,
"description": "description 1",
}
},
...
]
}
我假设我必须实现自定义JSON Marshaller,但我不知道如何将它用于特定响应而不是广泛应用。
编辑:我认为除了编组人员我还需要一个自定义的RENDERER。这是我不知道如何用于特定回应的那个。答案 0 :(得分:1)
如何简单:
def json = new JSON([ paging: [ total: myArray.totalCount ], data: myArray ])
您的域对象将使用您设置的编组器进行转换,而您的分页数据将简单地转换为JSON。