본문 바로가기
Java & JSP

List타입으로 담긴 데이터를 JSON 타입으로 출력하기

by BeGeek 2015. 2. 22.

Struts Action, DAO를 통해 list에 담긴 데이터를 JSON타입으로 반환하여 jqgrid 등 json결과를 필요로 하는곳에 쓸 수 있도록 할 수 있다.

 java(jsp)단에서 JSON타입 처리를 위해 json-lib-2.4-jdk15.jar 를 이용했고 소스단에서

net.sf.json.JSONArray, net.sf.json.JSONObject 를 import 했다.

<%@page import="net.sf.json.JSONArray"%>
<%@page import="net.sf.json.JSONObject"%>
<%@page import="org.apache.log4j.Logger"%>
<%@page import="vo.PeopleVO"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
 pageEncoding="EUC-KR"%>
<%
 Logger logger = Logger.getLogger(this.getClass());

 List<PeopleVO> peopleList = (List<PeopleVO>) request.getAttribute("peopleList");

 int cnt = peopleList.size();
 logger.info("people count :" + cnt);
 
 
 JSONArray jsonArray = new JSONArray();
 PeopleVO people = null;
 
 //json type으로 출력
 for (int i = 0; i < cnt; i++) {
  
  people = peopleList.get(i);
  
  JSONObject jobj = new JSONObject();
  jobj.put("pid",people.getPid());
  jobj.put("fname",people.getFname());
  jobj.put("lname",people.getLname());
  jobj.put("phone",people.getPhone());
  jobj.put("salary",people.getSalary());
  jobj.put("hiredate",people.getHiredate());
  jobj.put("jobid",people.getJobid());
 
  jsonArray.add(jobj);

 }
 
 out.println(jsonArray);
%>

출력결과 >

 

* json-lib-2.4-jdk15.jar 라이브러리를 사용하기 위해서는 아래와 같이 Dependency관계에 있는 라이브러리를 필요로한다.

commons-lang2.5, commons-beanutils 1.8.0, commons-collections3.2.1, commons-loggin1.1.1, ezmorph1.0.6

 

댓글