对jsonArray中的object数据按字段进行排序

public static JSONArray jsonArraySort(JSONArray jsonArr) {
        JSONArray sortedJsonArray = new JSONArray();
        List jsonValues = new ArrayList();
        for (int i = 0; i < jsonArr.size(); i++) {
            jsonValues.add(jsonArr.getJSONObject(i));
        }
        Collections.sort(jsonValues, new Comparator() {
          //要排序的字段
            private static final String KEY_NAME = "wbjMoney";

            @Override
            public int compare(JSONObject a, JSONObject b) {
                String valA = new String();
                String valB = new String();
                try {
                    String aStr = a.getString(KEY_NAME);
                    valA = aStr.replaceAll("-", "");
                    String bStr = b.getString(KEY_NAME);
                    valB = bStr.replaceAll("-", "");
                } catch (JSONException e) {
                 
                }

//根据BigDecimal类型的数据排序,(-)排序方式:正序倒序
                return -new BigDecimal(valA).compareTo(new BigDecimal(valB));
              
            }
        });
        for (int i = 0; i < jsonArr.size(); i++) {
            sortedJsonArray.add(jsonValues.get(i));
        }
        return sortedJsonArray;

   }

你可能感兴趣的:(java)