2014-09-02 308 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