해당 내용은 참고 용으로 만들어 보았습니다
해쉬맵으로 만들어서 공통으로 만든 부분으로 호출 할라고함
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
@SuppressWarnings("unchecked")
@RequestMapping(value = "/jsonMap", method = RequestMethod.POST)
public ArrayList<HashMap<String, String>> jsonMap (HttpServletRequest request) {
//최종 완성될 JSONObject 선언(전체)
JSONObject jsonObject = new JSONObject();
//person의 JSON정보를 담을 Array 선언
JSONArray personArray = new JSONArray();
//person의 한명 정보가 들어갈 JSONObject 선언
JSONObject personInfo = new JSONObject();
//정보 입력
personInfo.put("name", "송강호");
personInfo.put("age", "25");
personInfo.put("gender", "남자");
personInfo.put("nickname", "남궁민수");
//Array에 입력
personArray.add(personInfo);
personInfo = new JSONObject();
personInfo.put("name", "전지현");
personInfo.put("age", "21");
personInfo.put("gender", "여자");
personInfo.put("nickname", "예니콜");
personArray.add(personInfo);
//전체의 JSONObject에 사람이란 name으로 JSON의 정보로 구성된 Array의 value를 입력
jsonObject.put("persons", personArray);
// String jsonInfo = jsonObject.toJSONString();
// StringUtil.jsonParsing(jsonInfo);
StringUtil.jsonParsing(jsonObject.toJSONString());
return StringUtil.jsonParsing(jsonObject.toJSONString());
}
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
json 형태를 받아서.... 해쉬맵으로 리턴....
@SuppressWarnings("unchecked")
public static ArrayList<HashMap<String, String>> jsonParsing (String string){
HashMap<String, String> map = new HashMap<String,String>();
ArrayList <HashMap<String,String>> mapList = new ArrayList<HashMap<String,String>>();
JSONParser jsonParse = new JSONParser();
JSONObject jsonObj = null;
JSONArray jsonObj2 = null;
JSONObject jsonObjList = null;
String sJsonObj = "";
if(false == StringUtil.isEmpty(string)){
try {
jsonObj = (JSONObject)jsonParse.parse(string);
for(int i=0; i<jsonObj.size(); i++){
// key set 받아오기
Set<String> key = jsonObj.keySet();
// Iterator 설정
Iterator<String> iter = key.iterator();
// 각각 키 값 출력
while(iter.hasNext()){
String keyname = iter.next();
sJsonObj = jsonObj.get(keyname).toString();//키 명으로 뽑아서 문자열 담기
}
}
jsonObj2 = (JSONArray)jsonParse.parse(sJsonObj);
if(jsonObj2.size()>0){
for(int i=0; i<jsonObj2.size(); i++){
jsonObjList = (JSONObject)jsonParse.parse(jsonObj2.get(i).toString());
map = new HashMap<String,String>();
Set<String> key = jsonObjList.keySet(); // key set 받아오기
Iterator<String> iter = key.iterator(); // Iterator 설정
while(iter.hasNext()){
String keyname = iter.next();
jsonObjList.get(keyname).toString();
map.put(keyname, (String) jsonObjList.get(keyname));
}
mapList.add(map);
}
}
// for(int ii =0; ii<mapList.size(); ii++){//해쉬맵 확인 목적 부분
// System.out.println(mapList.get(ii));
// System.out.println(mapList.get(ii).get("nickname"));
// }
} catch (ParseException e) {
e.getMessage();
}
}
return mapList;
}
댓글 없음:
댓글 쓰기