java怎么使json数组按照ID属性排序
时间: 2024-02-06 12:11:24 浏览: 74
你可以使用Java中的Comparator接口对JSON数组进行排序,具体实现如下:
```java
import java.util.Comparator;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class SortJsonArray {
public static void main(String[] args) throws JSONException {
JSONArray jsonArray = new JSONArray("[{\"id\": 3, \"name\": \"Jenny\"}, {\"id\": 1, \"name\": \"Tom\"}, {\"id\": 2, \"name\": \"Alice\"}]");
jsonArray.sort(Comparator.comparingInt(obj -> ((JSONObject) obj).getInt("id")));
System.out.println(jsonArray.toString());
}
}
```
这里使用了Comparator的comparingInt方法,传入一个lambda表达式,比较lambda表达式返回的值大小,从而实现对JSON数组排序。具体来说,我们使用JSONObject的getInt方法获取每个元素的id值,并按照id值从小到大排序。排序后的结果为:
```
[{"id":1,"name":"Tom"},{"id":2,"name":"Alice"},{"id":3,"name":"Jenny"}]
```
你可以将这个排序函数应用到你的Java代码中,排序完成后可以将排序后的JSON数组返回给调用者,调用者就可以在页面上展示按照id排序的JSON数组了。
阅读全文