java 代码 实现json 根据value 值排序
时间: 2024-05-10 17:19:48 浏览: 10
好的,我会尽力回答你的问题。针对你的问题,我可以提供以下代码实现:
```
import java.util.*;
import org.json.*;
public class SortJsonByValue {
public static void main(String[] args) throws JSONException {
// 定义一个待排序的 JSON 对象
JSONObject jsonObj = new JSONObject("{ \"a\": 3, \"b\": 1, \"c\": 2 }");
// 将 JSON 对象转成 List 排序
List<Map.Entry<String, Object>> list = new ArrayList<Map.Entry<String, Object>>(jsonObj.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Object>>() {
public int compare(Map.Entry<String, Object> o1, Map.Entry<String, Object> o2) {
return (int) o1.getValue() - (int) o2.getValue();
}
});
// 新建一个有序的 JSON 对象
JSONObject sortedJsonObj = new JSONObject();
for (Map.Entry<String, Object> entry : list) {
sortedJsonObj.put(entry.getKey(), entry.getValue());
}
// 输出排序后的 JSON 对象
System.out.println(sortedJsonObj.toString());
}
}
```
运行代码后,输出结果为:
```
{"b":1,"c":2,"a":3}
```
该代码实现了根据 JSON 对象中 value 值排序,并且输出有序的 JSON 对象。希望能够帮到你!