你可以通过for循环迭代,并在每次迭代创建新的JSONObject并把它添加到集合。最后将集合添加到mergedObject。例如。
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Collection;
public class Foo {
public static void main(String[] args) throws JSONException {
JSONObject object1 = new JSONObject("{\n" +
" \"name\": [\n" +
" \"Karbonn Smart A12 Star (Black & Silver)\",\n" +
" \"Nokia 220 (Black)\",\n" +
" \"Karbonn Smart A52 Plus (Black & Gold)\",\n" +
" \"Karbonn Smart A12 Star (White & Gold)\",\n" +
" \"Karbonn Smart A50s (Black)\",\n" +
" \"Karbonn Smart A52 Plus (White & Silver)\",\n" +
" \"Karbonn Titanium S2 Plus (White)\",\n" +
" \"Karbonn Smart A11 Star (Black)\",\n" +
" \"Karbonn Smart A11 Star (White)\"\n" +
" ]\n" +
"}");
JSONObject object2 = new JSONObject("{\n" +
" \"price\": [\n" +
" \"Rs. 3,699\",\n" +
" \"Rs. 2,599\",\n" +
" \"Rs. 2,499\",\n" +
" \"Rs. 3,699\",\n" +
" \"Rs. 2,699\",\n" +
" \"Rs. 2,499\",\n" +
" \"Rs. 4,999\",\n" +
" \"Rs. 4,399\",\n" +
" \"Rs. 4,499\"\n" +
" ]\n" +
"}");
JSONArray nameArray = object1.getJSONArray("name");
JSONArray priceArray = object2.getJSONArray("price");
JSONObject mergedObject = new JSONObject("{}");
Collection<JSONObject> collection = new ArrayList<>();
for (int i = 0; i < nameArray.length(); i++) {
JSONObject obj = new JSONObject();
obj.put("name", nameArray.getString(i));
obj.put("price", priceArray.getString(i));
collection.add(obj);
}
mergedObject.put("mobile", collection);
System.out.println(mergedObject);
}
}
输出继电器:
{"mobile":[{"price":"Rs. 3,699","name":"Karbonn Smart A12 Star (Black & Silver)"},{"price":"Rs. 2,599","name":"Nokia 220 (Black)"},{"price":"Rs. 2,499","name":"Karbonn Smart A52 Plus (Black & Gold)"},{"price":"Rs. 3,699","name":"Karbonn Smart A12 Star (White & Gold)"},{"price":"Rs. 2,699","name":"Karbonn Smart A50s (Black)"},{"price":"Rs. 2,499","name":"Karbonn Smart A52 Plus (White & Silver)"},{"price":"Rs. 4,999","name":"Karbonn Titanium S2 Plus (White)"},{"price":"Rs. 4,399","name":"Karbonn Smart A11 Star (Black)"},{"price":"Rs. 4,499","name":"Karbonn Smart A11 Star (White)"}]}
要通过Java或Javascript来合并它们? – sol4me 2014-12-13 11:05:00
谢谢sol4me,我想和java合并。 – Raj 2014-12-13 11:09:29