您好我尝试按字母顺序排序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;
}
答案 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.
}
该函数的调用者可以在不再需要时释放JSONArray
和JSONObject
元素。
另外,如果您只想对JSONArray
进行排序,可以看一下:
Sort JSON alphabetically