Java 连接JSONArray
我在Java 连接JSONArray,java,android,arrays,json,concatenation,Java,Android,Arrays,Json,Concatenation,我在org.json包下使用 我的第一个JSONArray是这样的: [“249404”、“VPR249404”]、[“249403”、“VPR249403”]、[“249391”、“M249391”] 第二 [“249386”、“M249386”]、[“249385”、“M249385(I)”]、[“249384”、“I249384”] 因此,我想在我的第一个JSONArray中附加新的JSONArray 我正在研究Java和Android。我听说过library,但我不知道它是否对我有帮助,
org.json
包下使用
我的第一个JSONArray是这样的:
[“249404”、“VPR249404”]、[“249403”、“VPR249403”]、[“249391”、“M249391”]
第二
[“249386”、“M249386”]、[“249385”、“M249385(I)”]、[“249384”、“I249384”]
因此,我想在我的第一个JSONArray中附加新的JSONArray
我正在研究Java和Android。我听说过library,但我不知道它是否对我有帮助,但我不想在我的Android应用程序中有任何其他依赖项。我会尝试以下方法:
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;
}
使用
jarray1.addAll(jarray2);
试试这个:
private JSONArray concatArray(@NotNull JSONArray jsArr1, @NotNull JSONArray jsArr2) {
List<Object> list = jsArr1.toList();
list.addAll(jsArr2.toList());
return new JSONArray(list);
}
private JSONArray concatArray(@NotNull JSONArray jsArr1,@NotNull JSONArray jsArr2){
List=jsArr1.toList();
addAll(jsArr2.toList());
返回新的JSONArray(列表);
}
如何只保留一次重复值?虽然这段代码可以回答这个问题,但提供关于如何以及为什么解决问题的附加上下文将改善答案的长期值。org.json.JSONException:JSONArray初始值应该是字符串、集合或数组。在org.json.JSONArray.(JSONArray.java:203)修改代码,它应该可以工作。
private JSONArray concatArray(@NotNull JSONArray jsArr1, @NotNull JSONArray jsArr2) {
List<Object> list = jsArr1.toList();
list.addAll(jsArr2.toList());
return new JSONArray(list);
}