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中的某一个字段进行排序。

 

posted on   longkui  阅读(369)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示