프로그래밍/자바

Java - JSONObject에서 element와 accumulate 차이점

가카리 2017. 9. 16. 20:45
반응형
<element와 accumulate 차이점>
 
두 개다 name(key)와 value로 데이터를 넣어주는 형식이다.
 
사용 방식은 같으나 
accumulate는 같은 key가 들어왔을 때 배열 식으로 계속해서 value를 붙여주는 형식을 띄고
element는 같은 key가 들어왔을 때 value를 이전 value에 덮여씌워 주는 형식이다.
ex)
소스:
 
               JSONdata data1 = new JSONdata("data1");
               JSONdata data2 = new JSONdata("data2");
               JSONdata data3 = new JSONdata("data3");
               JSONdata data4 = new JSONdata("data4");
              
               // 추가
               jsonByDTO.accumulate("ticketIDList", data1);
               jsonByDTO.accumulate("ticketIDList", data2);
               jsonByDTO.element("ticketIDList1", data3);
               jsonByDTO.element("ticketIDList1", data4);
              
 
               logger.info("DTO 사용: " + jsonByDTO.toString());
 
 
결과화면:
 
INFO : kr.co.mcom.JSONController - DTO 사용: {"ticketIDList":[{"ticketID":"data1"},{"ticketID":"data2"}],"ticketIDList1":{"ticketID":"data4"}}





 
 
결과화면을 보면 ticketIDList에 accumulate를 사용한 것을 볼 수 있는데, 중복된 key값을 사용했을 경우 배열로 결과가 나오는 것을 확인 할 수 있다. 하지만 element를 사용했을 때, 중복된 key값을 사용한 경우 마지막에 대입한 value가 들어가 있는 것을 볼 수 있다.


출처: http://javafactory.tistory.com/814 [FreeLife의 저장소]
반응형