이전 포스팅에서 JSONArray를 컨트롤러로 가져오는 코드를 짰는데, 이젠 그 처리에 관한 얘기이다.
나는 좌표값을 가져왔으므로 소수점이 존재하고, DB에서 NUMBER형태로 받을거니까 당연히 형변환이 필요하다! int도 long도 String도 아닌 Double로!!
JSONArray의 데이터는 모두 Object 형식이기 때문에 Object에서 형변환을 시작해야한다.
https://www.roseindia.net/java/java-conversion/ObjectToDouble.shtml
이글을 참고하면 된다. 무조건 괄호열고 캐스팅하려고 하지말고 잘 이해하자...
for(int i=0; i<insertParam.size(); i++){
//배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출
JSONObject seatData = (JSONObject) insertParam.get(i);
System.out.println(seatData);
vo.setSitId((String)seatData.get("sitId"));
String strX = (seatData.get("sitX")).toString();
double x = Double.valueOf(strX).doubleValue();
vo.setSitX(x);
String strY = (seatData.get("sitY")).toString();
double y = Double.valueOf(strY).doubleValue();
vo.setSitY(y);
service.createSeat(vo);
}