Concatenate JSONArrays
37,358
I would try something like this:
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;
}
I don't have a compiler right now to test, but you can give it a try and see if it works (or, at least, it gives you an idea of how to do it).
EDIT
This version could concat multiple arrays (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;
}
Related videos on Youtube
Comments
-
Vikas almost 2 years
I am using JSONArray under the
org.json
Package.My first JSONArray is like:
[["249404","VPR249404"],["249403","VPR249403"],["249391","M249391"]]
and Second
[["249386","M249386"],["249385","M249385(I)"],["249384","I249384"]]
So I'd like to append new JSONArray to my first JSONArray.
I am working on Java and Android. I have heard about google-gson library, but I don't know whether it can help me or not but I don't want any other dependency in my Android Application.
-
Pratik Butani over 8 yearsHow to keep duplicate values once only?
-
Alexander almost 6 yearsWhile this code may answer the question, providing additional context regarding how and why it solves the problem would improve the answer's long-term value.
-
FilippoG about 4 yearsorg.json.JSONException: JSONArray initial value should be a string or collection or array. at org.json.JSONArray.<init>(JSONArray.java:203)
-
mike over 2 yearsAdd to Set first and result.put(Set.toArray) @Pratik Butani
-
Adrian Bob over 2 yearsJSONArray does not provide addAll that method.