jsonobject转list排序
时间: 2023-07-22 20:15:36 浏览: 62
Json转list
可以按照以下步骤将 JSONObject 转换为 List 并进行排序:
1. 首先,将 JSONObject 转换为 JSONArray。
2. 然后,遍历 JSONArray 中的每个 JSONObject,将其转换为一个 Map 对象。
3. 将每个 Map 对象添加到一个 List 中。
4. 使用 Collections.sort() 方法对 List 进行排序,可以指定排序的属性和排序方式。
下面是一个示例代码:
```java
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
public class JsonToListSort {
public static void main(String[] args) {
String jsonStr = "[{\"id\": 2, \"name\": \"John\"}, {\"id\": 1, \"name\": \"Alice\"}, {\"id\": 3, \"name\": \"Bob\"}]";
JSONArray jsonArray = new JSONArray(jsonStr);
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Map<String, Object> map = jsonObject.toMap();
list.add(map);
}
// 按 id 属性升序排序
Collections.sort(list, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
return Integer.compare((int) o1.get("id"), (int) o2.get("id"));
}
});
System.out.println(list);
}
}
```
输出结果为:`[{id=1, name=Alice}, {id=2, name=John}, {id=3, name=Bob}]`。可以看到,List 已经按照 id 属性升序排序了。
阅读全文