JSONArray按照某个字段排序
原文链接:JSONArray按照某个字段排序 – 每天进步一点点 (longkui.site)
程序返回数据的时候经常要求按照某个字段排序,在sql中可以用order by排序,在程序中可以用sort来排序,今天就简单介绍一下。
方法1:
res.sort(Comparator.comparing(obj-((JSONObject)obj).getString("rr")));
上面的res就是JSONArray数组,中间的rr就是要排序的字段。 但是很遗憾,我使用这个就报错。然后使用了下面这种方法。
方法2:
List<JSONObject> list = JSONArray.parseArray(res.toJSONString(), JSONObject.class);
list.sort((o1, o2) -> {
double diff = Double.parseDouble(o1.get("rr").toString()) - Double.parseDouble(o2.get("rr").toString());
if (diff > 0) {
return -1;
} else if (diff < 0) {
return 1;
}
return 0;
});
上面这种方法就能按照JSONArray中的某一个字段进行排序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具