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 !
-
import net.sf.json.JSONArray;
-
import net.sf.json.JSONObject;
요렇게 두가지 클래스만 Import 시키면 준비 끝 !!
이제 본격적인 Json 변환 예제를 보면서 Json의 세계로 !
3. Json Data 변환
-
JSONObject jsonObject = new JSONObject(); // JSONObject 생성
-
JSONArray cell = new JSONArray(); // JSONObject list 를 넣을 JSONArray
-
dataVO data = null; // 데이터를 꺼내올 BeanVO 객체 생성
-
for(int i=0; i<infoList.size(); i++) { // 루프를 돌려 list에 담긴 데이터를 BeanVO에 주입
-
data = (dataVO)infoList.get(i); // 이제 data 에는 객체들이 차례로 담겼음
-
JSONObject obj = new JSONObject(); // 다시 한번 JSONObject로 감싸기 위해 객체 선언
-
obj.put( "item1" , data.item1); // obj에 객체의 데이터를 꺼내 차례로 담는다
-
obj.put( "item2" , data.item2); // ( key , value ) 형식
-
obj.put( "item3" , data.item3);
-
cell.add(obj); // 아까 만들어진 cell Array객체에 VO담은 객체를 주입
-
}
-
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 안녕 !!