fast json parseObject 按某个字段值排序
时间: 2024-01-30 16:03:12 浏览: 89
如果你想要按照JSON对象中某个字段的值进行排序,可以使用`com.alibaba.fastjson.JSONObject`的`toJavaList`方法将JSON对象转换为Java List,然后使用`Collections.sort`方法进行排序,示例代码如下:
```java
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
JSONArray jsonArray = JSONArray.parseArray("[{\"b\":2,\"a\":1},{\"b\":1,\"a\":2}]");
System.out.println("排序前:" + jsonArray.toJSONString());
List<JSONObject> list = new ArrayList<>();
for (int i = 0; i < jsonArray.size(); i++) {
list.add(jsonArray.getJSONObject(i));
}
Collections.sort(list, new Comparator<JSONObject>() {
@Override
public int compare(JSONObject o1, JSONObject o2) {
return o1.getIntValue("b") - o2.getIntValue("b"); // 按照键名为“b”的值进行升序排序
}
});
JSONArray sortedJsonArray = new JSONArray(list);
System.out.println("排序后:" + sortedJsonArray.toJSONString());
}
}
```
输出结果为:
```
排序前:[{"b":2,"a":1},{"b":1,"a":2}]
排序后:[{"b":1,"a":2},{"b":2,"a":1}]
```
上述代码中,首先将JSON数组转换为Java List,然后使用`Collections.sort`方法进行排序,排序规则可以自定义。最后将排序后的Java List转换为JSON数组。
阅读全文