My JSON is:
[
{
\"distance\":32,
\"stationCode\":\"MIG\",
\"name\":\"Midghat\",
\"platforms\":\"2\"
},
{
\"distance\":
Here is the code for joining '2' JSONArrays and removing duplicates from the joined JSONArray, using ArrayList..contains() method:
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
* @author RAM K K
* @gmail kkram523@gmail.com
*
*/
public class JSONOperations {
public static void main(String[] args) {
String s3;
String s1 = "[{\"name\": \"Bob\", \"car\": \"Ford\"},{\"name\": \"Steve\", \"car\": \"Mercedes Benz\"},{\"name\": \"Bob\", \"car\": \"Ford\"},{\"name\": \"Bob\", \"car\": \"Ford\"},{\"name\": \"Bob\", \"car\": \"Ford\"},{\"name\": \"Bob\", \"car\": \"Ford\"},{\"name\": \"Mary\", \"car\": \"Fiat\"}]";
String s2 = "[{\"name\": \"Mack\", \"car\": \"VW\"},{\"name\": \"Steve\", \"car\": \"Mercedes Benz\"},{\"name\": \"Bob\", \"car\": \"Ford\"}]";
try {
JSONArray sourceArray = new JSONArray(s2);
JSONArray destinationArray = new JSONArray(s1);
System.out.println(sourceArray);
System.out.println(destinationArray);
for (int i = 0; i < sourceArray.length(); i++) {
destinationArray.put(sourceArray.getJSONObject(i));
}
System.out.println(destinationArray);
System.out.println("JSONArray Size is: " + destinationArray.length());
List list = new ArrayList();
for (int i = 0; i < destinationArray.length(); i++) {
if (!list.contains(destinationArray.get(i).toString())) {
list.add(destinationArray.get(i).toString());
}
}
System.out.println("LIST: " + list);
System.out.println("LIST Size: " + list.size());
JSONArray distinctJSONArray = new JSONArray(list.toString());
System.out.println(distinctJSONArray.length());
for (int i = 0; i < distinctJSONArray.length(); i++) {
JSONObject JSON = (JSONObject) distinctJSONArray.getJSONObject(i);
System.out.println(JSON);
}
s1 = s1.substring(s1.indexOf("[") + 1, s1.lastIndexOf("]"));
s2 = s2.substring(s2.indexOf("[") + 1, s2.lastIndexOf("]"));
s3 = "[" + s1 + "," + s2 + "]";
System.out.println(new JSONArray(s3));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}