我想对json数据进行排序,就像这样
def json = []
for ( int i=10;i>1;i--){
if (i==10 || i==9 ){
json << [ name:"xyz",
id:i
]
}else
if (i==8 || i==7 ){
json << [ name:"abc",
id:i
]
}
}
// def jsondata = [success:true, rows:json]
def jsondata = [success:true, rows:json.sort(false) { it.name }]
print jsondata
groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.sort() is applicable for argument types: (java.lang.Boolean, com.cs.AdminController$_closure15_closure83) values: [false, com.cs.controllers.AdminController$_closure15_closure83@3e020351]
Possible solutions: sort(), sort(java.util.Comparator), sort(groovy.lang.Closure), wait(), size(), size()
我希望数据按字母顺序升序或降序排序
上面的一个是在一个groovy控制台工作但不在我的程序中,我是否需要添加像lib这样的东西?
答案 0 :(得分:1)
您的输出格式似乎与您发布的代码没有相似性
此外,您发布的代码不能仅由试图回答此问题的人运行。
所以这将是一个有根据的猜测...
尝试:
def jsondata = [success:true, rows:json.sort(false) { it.name }, total:totalCount]
如果您因某种未知原因从当天回来使用groovy,那么只需删除false
,但请注意,这会改变您的json
列表...
def jsondata = [success:true, rows:json.sort { it.name }, total:totalCount]