java根据jsonarray对某个字段进行排序
时间: 2023-10-22 14:09:31 浏览: 203
可以使用Java中的Collections.sort()方法和Comparator接口来根据JSONArray中某个字段进行排序。
首先,将JSONArray转换为List对象,然后使用Collections.sort()方法进行排序。
例如,假设我们有一个JSONArray对象,其中包含多个JSON对象,每个JSON对象都有一个名为“age”的整数字段。我们想按照“age”字段对JSONArray中的JSON对象进行排序。
```
JSONArray jsonArray = new JSONArray("[{age:30},{age:20},{age:40},{age:10}]");
List<JSONObject> list = new ArrayList<JSONObject>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add(jsonArray.getJSONObject(i));
}
Collections.sort(list, new Comparator<JSONObject>() {
@Override
public int compare(JSONObject o1, JSONObject o2) {
int age1 = o1.getInt("age");
int age2 = o2.getInt("age");
return age1 - age2;
}
});
JSONArray sortedJsonArray = new JSONArray(list);
```
这将按照“age”字段对JSONArray中的JSON对象进行排序,并将排序后的JSON数组存储在sortedJsonArray中。
阅读全文