2016-09-08 3 views
0

나는 효과적인 코드 때문에 루프로 만드는 방법안드로이드에 루프 데이터와 JSON 배열을 만드는 방법

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); 

출력 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"}] 

를 아래 코드와 자바에서 JSON 배열을 만들 수 있었다 20 명의 고객이 있습니까? 내 말은 그저 마지막 문자 하나만 바꾸면된다는 뜻입니다.

해결 감사 Android.K.Doe 및 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(); 
    } 

답변

1
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()); 
0

는 다음 목록에 추가 고객에 대한 객체를 생성합니다. 그럼 해봐.

ArrayList<Customer> list = new ArrayList()<>; 
JSONArray jArray = new JSONArray(); 
for(int i = 0; i < count; count++){ 
    try { 
    JSONObject cust = new JSONObject(); 
    cust.put("number", list.get(i).number); 
    cust.put("name", list.get(i).name); 
    cust.put("url", list.get(i).url); 

    jArray.put("Cust"+i, cust); 

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

[해결] 감사 Android.K.Doe, 내가 ArrayList를하지 않고 코드를 수정 INT 변수 –

+0

그게 전부에게 단지 샘플을 계산 추가하고있다. 동적 코드 용입니다. 데이터는 API에서 가져와야합니다. 어쨌든 문제 없습니다. 같은 문제가있는 다른 사람들에게 맞는 답을 수락하십시오 :) –

관련 문제