2014-04-23 2 views
0

데이터베이스에서 데이터를 가져 와서 ArrayList를 사용하여 JSON 문서의 값을 설정하려고했지만이를 수행 할 수 없습니다. 이 코드를 동적 JSON으로 변환하려고합니다. 일반 정보보기? 참고 : 보기 plainprint : 코드 블록의 텍스트 내용을 바꿈 이제 다음과 같이 동적으로 JSON 행을 포함하는, 내가 ArrayList를 사용했다 foreach 루프를 사용하여 JSON 문서 만들기

String json = "{ \"demo\":[[ \"Sam\",\"Sola\",\"Accun\"],[\"Raj\",\"Sanjosh\",\"CA\"],[\"Karan\",\"Toshi\",\"Java\"]]}"; 

자동인가? 참고 : 코드 블록의 텍스트 내용이 자동으로 줄 바꿈
ArrayList<Object> al = new ArrayList<Object>(); 

.............some database code.......... 

while (result.next()) { 

al.add("[ \"" + result.getString(1) + "\", 
       \""+ result.getString(3) + "\", 
       \"" + result.getString(4)+ "\", 
       \"" + result.getString(5) + "\", 
       \""+ result.getString(6) + "\", 
       \"" + result.getString(7)+ "\", 
       \"" + result.getString(8) + "\"]"); 

} 

지금 내가 JSON 문서로이 컬렉션을 포함 할 수 있습니다. 그러나 이것을하는 방법을 모릅니다. 요약 인쇄를 보시겠습니까? 참고 : 코드 블록의 텍스트 내용이 자동으로 줄 바꿈

String h = "{ \"demo\":[ "+ 
     for(Object o : al){ 

     } 
     +"]}"; 

날이 .... 감사를 통해 얻을 안내하시기 바랍니다 것입니다!

답변

1

수동으로 json을 구성하는 대신 기존 라이브러리 중 하나를 사용하는 것이 좋습니다. 생성하려는 json이 간단한 매핑이므로 다음과 같은 작업을 수행 할 수 있습니다.

List<String> list = new ArrayList<String>(); 
    list.add(result.getString(1)); 
    list.add(result.getString(3)); 
    //etc 
    Map<String, List<String>> map = new HashMap<String, List<String>>(); 
    map.put("demo", list); 
    String json = new Gson().toJson(map); 
+0

wow..thanks..never 생각지도가이 방법으로 구현 될 수는 없다 ... 감사합니다 소중하게 ...이 코드를 구현하려고합니다 ... 건배 !! – user3565584

+0

Gson - https://code.google.com/p/google-gson/ – spiderman

관련 문제