对JSONArray进行自定义排序,需要使用Collections类,直接上代码,得到的sortdata就是排序后的JSONArray数组
//arr想要排序的JSON数组
List<JSONObject> list = JSONObject.parseArray(arr.toJSONString(), JSONObject.class);
Collections.sort(list, (JSONObject o1, JSONObject o2) -> {
//转成JSON对象中保存的值类型
double a = Double.parseDouble(o1.getString("sort"));
double b = Double.parseDouble(o2.getString("sort"));
// 如果a, b数据类型为int,可直接 return a - b ;(升序,降序为 return b - a;)
if (a < b) { //降序排列,升序改成a>b
return 1;
} else if(a == b) {
return 0;
} else {
return -1;
}
});
JSONArray sortdata = JSONArray.parseArray(JSON.toJSONString(list));