Irvan Dwi Pangga Irvan Dwi Pangga - 2 months ago 31
Java Question

How to create JSON Array with Loop Data in Android

I was able to create JSON Array in java with code below

JSONObject cust1 = new JSONObject();
try {
cust1.put("number", "1");
cust1.put("name", "customer1");
cust1.put("url", "url1");

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject cust2 = new JSONObject();
try {
cust2.put("number", "2");
cust2.put("name", "customer3");
cust2.put("url", "url3");

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject cust3 = new JSONObject();
try {
cust3.put("number", "3");
cust3.put("name", "customer3");
cust3.put("url", "url3");

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject cust4 = new JSONObject();
try {
cust4.put("number", "4");
cust4.put("name", "customer4");
cust4.put("url", "url4");

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

JSONObject cust5 = new JSONObject();
try {
cust5.put("number", "5");
cust5.put("name", "customer5");
cust5.put("url", "url5");

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

JSONArray jsonArray = new JSONArray();

jsonArray.put(cust1);
jsonArray.put(cust2);
jsonArray.put(cust3);
jsonArray.put(cust4);
jsonArray.put(cust5);

String jsonStr = jsonArray.toString();

System.out.println(jsonStr);


Output JSON

[{"number":"1","name":"customer1","url":"url1"},{"number":"2","name":"customer2","url":"url2"},{"number":"3","name":"customer3","url":"url3"},{"number":"4","name":"customer4","url":"url4"},{"number":"5","name":"customer5","url":"url5"}]


How to create with loop in effective code because I have 20 customer? I mean that's just change one number at last character.

Solved thanks Android.K.Doe and Randyka Yudhistira

int data = 20;
JSONArray obj = new JSONArray();
try {
for(int i=1;i<=data;i++){
// 1st object

JSONObject cust= new JSONObject();
cust.put("number",String.valueOf(i));
cust.put("name","customer"+i);
cust.put("url","url"+i);

obj.put(cust);
}
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

Answer
JSONArray jsa = new JSONArray();
for (int i = 1; i<= 20; i++) {
  JSONObject cust = new JSONObject();
  cust.put("number",String.valueOf(i));
  cust.put("name","customer"+i);
  cust.put("url","url"+i);
  jsa.put(cust);
}
System.out.println(jsa.toString());
Comments