2014-09-02 321 views
0

嗨我想按字母順序排序JSONObjects的JSONArray,但它似乎添加在反斜槓,因爲它將它變成一個大字符串。有誰知道如何按字母順序排列JSONObjects的JSONArray?按字母順序排列JSON數組中的JSONObjects數組

我試圖轉換JSONArray到ArrayList中,但它變成按字母順序排列,而不是一個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; 


    } 
+0

在哪場你想排序? – mmlooloo 2014-09-02 15:07:13

回答

1

也許是這樣的字符串的JSONArray?

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

+0

感謝這工作的一種享受 – iamlukeyb 2014-09-02 16:07:08