如何在grails中将数组的sql结果数组转换为对象数组

如何在grails中将数组的sql结果数组转换为对象数组,grails,gorm,Grails,Gorm,我有一个简单的sql查询,它以JSON数组的形式返回结果。但是我希望输出是对象数组。如何获得预期的格式 def data= cust.executeQuery("select custname,dept from customer") println("data format:"+data); Output: Data:[[X,Sales],[Y,Finance]] Expected format to be: Data:[ {Name:X,Dept:Sales}, {Name:Y,

我有一个简单的sql查询,它以JSON数组的形式返回结果。但是我希望输出是对象数组。如何获得预期的格式

def data= cust.executeQuery("select custname,dept from customer")
println("data format:"+data);

Output:

Data:[[X,Sales],[Y,Finance]]

Expected format to be:

Data:[
 {Name:X,Dept:Sales},
 {Name:Y,Dept:Finance}
]

我不完全确定,但我认为您可以通过以下方式实现您的目标:

data.collect { [Name: it[0], Dept: it[1]] }

我用
[[“X”,“Sales”],[“Y”,“Finance”]]测试了它。收集{[Name:it[0],Dept:it[1]}
并且它确实返回给定格式的地图列表。

您好,suricatta我尝试了上述逻辑,但它对我不起作用。可能是因为您在HQL语句中没有使用
新地图
,所以默认情况下您应该完全得到您想要的结果。您只需更改
“选择新地图(custname作为名称,dept作为部门)来自客户“