[Java] JSONObject 데이터 List에 저장하기

개발자·2022년 1월 11일
post-thumbnail

데이터

다음과 같이 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에 추가해준다.
}

Ref

profile
log.info("공부 기록 블로9")

0개의 댓글