Подтвердить что ты не робот

Конкретный JSONArray

Я использую JSONArray в пакете org.json.

Мой первый JSONArray похож:

[[ "249404", "VPR249404" ], [ "249403", "VPR249403" ], [ "249391", "M249391" ]]

и второй

[[ "249386", "M249386" ], [ "249385", "M249385 (I)" ], [ "249384", "I249384" ]]

Итак, я хотел бы добавить новый JSONArray в свой первый JSONArray.

Я работаю над Java и Android. Я слышал о google-gson библиотеке, но я не знаю, может ли она мне помочь или нет, но я не хочу, чтобы какая-либо другая зависимость в приложении для Android.

4b9b3361

Ответ 1

Я бы попробовал что-то вроде этого:

private JSONArray concatArray(JSONArray arr1, JSONArray arr2)
        throws JSONException {
    JSONArray result = new JSONArray();
    for (int i = 0; i < arr1.length(); i++) {
        result.put(arr1.get(i));
    }
    for (int i = 0; i < arr2.length(); i++) {
        result.put(arr2.get(i));
    }
    return result;
}

У меня нет компилятора прямо сейчас, чтобы проверить, но вы можете дать ему попробовать и посмотреть, работает ли он (или, по крайней мере, это дает вам представление о том, как это сделать).

ИЗМЕНИТЬ

Эта версия может конкатрировать несколько массивов (concatArray(arr1, arr2, arr3)):

private JSONArray concatArray(JSONArray... arrs)
        throws JSONException {
    JSONArray result = new JSONArray();
    for (JSONArray arr : arrs) {
        for (int i = 0; i < arr.length(); i++) {
            result.put(arr.get(i));
        }
    }
    return result;
}