jsonArray按照对象中某个属性排序

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        // 假设有一个名为jsonString的字符串,包含shipInfos的JSON数据
        String jsonString = "{\"shipInfos\":[{\"shipNo\":2},{\"shipNo\":1},{\"shipNo\":5},{\"shipNo\":3},{\"shipNo\":8},{\"shipNo\":6}]}";

        try {
            // 解析JSON字符串
            JSONObject jsonObject = new JSONObject(jsonString);
            JSONArray shipInfos = jsonObject.getJSONArray("shipInfos");

            // 按照shipNo字段进行排序
            shipInfos.sort(Comparator.comparingInt(o -> ((JSONObject) o).getInt("shipNo")));

            // 输出排序后的JSONArray
            JSONObject sortedJson = new JSONObject();
            sortedJson.put("shipInfos", shipInfos);

            System.out.println(sortedJson.toString());
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

上述代码使用了org.json.JSONObject和org.json.JSONArray来解析JSON字符串,然后使用Java 8的Comparator.comparingInt方法对shipNo进行排序。最后,将排序后的JSON对象转换为字符串并输出。

你可能感兴趣的:(python,开发语言)