按字母顺序对JSONArray中的JSONObject数组进行排序

时间:2014-09-02 14:59:16

标签: android

您好我尝试按字母顺序排序JSONArray的JSONArray,但它似乎在反斜杠中加入,因为它将它变成一个大字符串。有谁知道如何按字母顺序排列JSONArray的JSONArray?

我已经尝试将JSONArray转换为arraylist但它变成了字符串的JSONArray,它们按字母顺序而不是JSONObjects

public static JSONArray sortJSONArrayAlphabetically(JSONArray jArray) throws JSONException{

         ArrayList<String> arrayForSorting = new ArrayList<String>();     

            if (jArray != null) { 
               for (int i=0;i<jArray.length();i++){ 
                   //FIND OUT COUNT OF JARRAY
                   arrayForSorting.add(jArray.get(i).toString());
               } 

              Collections.sort(arrayForSorting); 
              jArray = new JSONArray(arrayForSorting);

            } 


         return jArray;


     }

1 个答案:

答案 0 :(得分:1)

也许是这样的?

public static JSONArray sortJSONArrayAlphabetically(JSONArray jArray) throws JSONException
{
    if (jArray != null) {
        // Sort:
        ArrayList<String> arrayForSorting = new ArrayList<String>();
        for (int i = 0; i < jArray.length(); i++) {
            arrayForSorting.add(jArray.get(i).toString());
        } 
        Collections.sort(arrayForSorting);

        // Prepare and send result:
        JSONArray resultArray = new JSONArray();
        for (int i = 0; i < arrayForSorting.length(); i++) {
            resultArray.put(new JSONObject(arrayForSorting.get(i)));
        }
        return resultArray;
    }
    return null; // Return error.
 }

该函数的调用者可以在不再需要时释放JSONArrayJSONObject元素。


另外,如果您只想对JSONArray进行排序,可以看一下:
Sort JSON alphabetically

并最终在这里:
Simple function to sort an array of objects