业务过程中遇到需要对订单列表jsonarray进行排序,可以用此方法。
getDate("createTime") createTime修改为你需要排序字段的key
public static void main(String[] args) {
JSONArray orders = new JSONArray();
JSONObject order1 = new JSONObject();
order1.put("name","短袖");
order1.put("type","衣服");
order1.put("createTime","2022-08-09");
JSONObject order2 = new JSONObject();
order2.put("name","帽子");
order2.put("type","衣服");
order2.put("createTime","2022-07-07");
JSONObject order3 = new JSONObject();
order3.put("name","袜子");
order3.put("type","衣服");
order3.put("createTime","2022-08-02");
orders.add(order1);
orders.add(order2);
orders.add(order3);
System.out.println("排序前:");
for (int i = 0; i < orders.size(); i++) {
JSONObject jsonObject = (JSONObject) orders.get(i);
System.out.println(jsonObject);
}
orders.sort(Comparator.comparing(obj->((JSONObject)obj).getDate("createTime"),Comparator.nullsFirst(Comparator.naturalOrder())));
System.out.println("正序排序后:");
for (int i = 0; i < orders.size(); i++) {
JSONObject jsonObject = (JSONObject) orders.get(i);
System.out.println(jsonObject);
}
orders.sort(Comparator.comparing(obj->((JSONObject)obj).getDate("createTime"),Comparator.nullsFirst(Comparator.naturalOrder())).reversed());
System.out.println("倒叙排序后:");
for (int i = 0; i < orders.size(); i++) {
JSONObject jsonObject = (JSONObject) orders.get(i);
System.out.println(jsonObject);
}
}
结果输出:
评论区