728x90
반응형

Json 변환을 쉽게 ! ^^

 

1 . Json 라이브러리 다운로드 !

  • commons-lang 2.5
  • commons-beanutils 1.8.0
  • commons-collections 3.2.1
  • commons-logging 1.1.1
  • ezmorph 1.0.6
  • json-lib-2.4-jdk15

Json 데이터 변환을 하기 위해서는 이렇게 6개의 의존 라이브러리가 필요하다.

검색을 하면 다들 쉽게 구할 수 있겟지만 , 일단 파일은 첨부 하는걸로 ㅎ

2 . Json Class Import !

 

 

  1. import net.sf.json.JSONArray;
  2. import net.sf.json.JSONObject;


요렇게 두가지 클래스만 Import 시키면 준비 끝 !!

 

이제 본격적인 Json 변환 예제를 보면서 Json의 세계로 !

 

 

3. Json Data 변환

 

 

  1. ArrayList infoList = (ArrayList) dao.getList(); // 우선 json 데이터로 변환할 데이터를 DB에서 추출
  2. JSONObject jsonObject = new JSONObject(); // JSONObject 생성
  3. JSONArray cell = new JSONArray(); // JSONObject list 를 넣을 JSONArray
  4. dataVO data = null; // 데이터를 꺼내올 BeanVO 객체 생성
  5. for(int i=0; i<infoList.size(); i++) { // 루프를 돌려 list에 담긴 데이터를 BeanVO에 주입
  6. data = (dataVO)infoList.get(i); // 이제 data 에는 객체들이 차례로 담겼음
  7. JSONObject obj = new JSONObject(); // 다시 한번 JSONObject로 감싸기 위해 객체 선언
  8. obj.put( "item1" , data.item1); // obj에 객체의 데이터를 꺼내 차례로 담는다
  9. obj.put( "item2" , data.item2); // ( key , value ) 형식
  10. obj.put( "item3" , data.item3);
  11. cell.add(obj); // 아까 만들어진 cell Array객체에 VO담은 객체를 주입
  12. }
  13. jsonObject.put("rows", cell); // 마지막으로 JSON객체에 JSONArray 객체를 넣으면 끝!

 

 

이렇게 만들어진 JSONObject 의 형식은 이렇다.

 

{"row" ,

[

{"item1":"value","item2":"value","item3":"value"},

{"item1":"value","item2":"value","item3":"value"},

{"item1":"value","item2":"value","item3":"value"},

{"item1":"value","item2":"value","item3":"value"}

.................... 객체의 수만큼 반복됨

]
}

 

이렇게 아주 아주 쉽게 JSON 객체를 반환했다.

난 jqGrid를 만들기 위해 JSON 데이터를 만들었기 때문에 ,

다음엔 jqGrid를 위한 JSON 데이터를 포스팅 하도록 하겠다. !!

 

JSON 데이터는 어렵진 않지만 막상 날코딩 하려면 순서가 헷갈릴 수 있기 때문에 ,

자주자주 보는 것이 중요할 듯 싶다. 나도 Copy & Paste 할 수 있었지만

공부를 위해서 다시 한번 코딩해봤음 ^ㅡ^ 시간이 .....................ㅎㅎ

 

그럼 Json 안녕 !!

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,