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对象转换为字符串并输出。