만들어가는 세상

[JAVA] JSON으로 여러 객체에 데이터 처리하기 본문

IT/JAVA

[JAVA] JSON으로 여러 객체에 데이터 처리하기

윤재웅 2018. 6. 25. 12:05

[JAVA] JSON으로 여러 객체에 데이터 처리하기

JSON DATA MAP 객체에 담기

String jsonData  = ….
Map<String, Object> resultMap = new HashMap<>();
JSONParser parser = new JSONParser();
JSONArray array = (JSONArray) parser.parse(jsonData);

for(int j=0; j<array.size(); j++) {
    JSONObject obj = (JSONObject) array.get(j);
    Iterator<?> iter = obj.keySet().iterator();
    while(iter.hasNext()) {
        String key = (String) iter.next();
        resultMap.put(key, obj.get(key).toString());
    }
}

JSON DATA Bean객체에 담기

List<ProjectInfoAPIBean> projectList = new ArrayList<ProjectInfoAPIBean>();;
String reMsg = new String(out.toByteArray(), "UTF-8").toString();
System.out.println("reMsg -->"+ reMsg); 

JSONParser jsonParser = new JSONParser();
JSONObject jsonObj = (JSONObject) jsonParser.parse(reMsg);
JSONArray jsonAry = (JSONArray) jsonObj.get("data");

if(jsonAry.size() > 0) {
    for( int i = 0 ; i < jsonAry.size(); i ++) {
        JSONObject dataObj = (JSONObject) jsonAry.get(i); 
        ObjectMapper mapper = new ObjectMapper();

        ProjectInfoAPIBean projectBean = new ProjectInfoAPIBean(); 
        projectBean = mapper.readValue(dataObj.toJSONString(), ProjectInfoAPIBean.class);
        projectList.add(projectBean);
    }
}

JSON LIST에 담기

String sessionDataNoList = (String) RequestUtil.getSessionData(request, "sessinAddDataNoExcelData");        
//목록 다운로드 로직 추가 
List<String> projectDataNoList = null;

if(sessionDataNoList != null) {
    JSONParser parser = new JSONParser();
    JSONArray array = (JSONArray) parser.parse(sessionDataNoList);
    projectDataNoList = new ArrayList<>();        
      for(int j=0; j<array.size(); j++) {
        projectDataNoList.add((String)array.get(j));
    }
}
Comments