다음과 같이 json 데이터에 list가 포함되어 있을 때는 JSONArray로 변경해준 후 다시 JSONObject 형태로 바꿔줘야 한다.
{
"empListCnt" : 10,
"empList" : [{"id" : "1", "name" : "emp01"},
{"id" : "2", "name" : "emp02"},
{"id" : "3", "name" : "emp03"}
]
}
// Rest API로 가져온 데이터를 JSON Parsing해 JSONObject에 넣어준다.
JSONObject jsonObj = (JSONObject) new JSONParser().parse(sb.toString());
// JSONObject 데이터 중 List를 JSONArray에 넣어준다.
JSONArray jsonArr = (JSONArray) jsonObj.get("empList");
List<EmpVO> empList = new ArrayList<EmpVO>(); // 데이터를 저장할 List
for(Object arr : jsonArr) {
JSONObject obj = (JSONObject) arr; // JSONArray 데이터를 하나씩 가져와 JSONObject로 변환해준다.
// 값을 VO에 넣어준다.
EmpVO empVO = new EmpVO();
empVO.setDomainId((String) obj.get("domainName"));
empVO.setCompanyCd((String) obj.get("company"));
empList.add(empVO); // list에 추가해준다.
}