【问题标题】:Sort an Array of JSONObjects in a JSONArray Alphabetically按字母顺序对 JSONArray 中的 JSONObject 数组进行排序
【发布时间】:2014-09-02 14:59:15
【问题描述】:

您好,我正在尝试按字母顺序对 JSONObjects 的 JSONArray 进行排序,但它似乎添加了反斜杠,因为它将它变成了一个大字符串。有谁知道如何按字母顺序排列 JSONObjects 的 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;


     }

【问题讨论】:

  • 你想在哪个字段上排序?

标签: android


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多