ajax json 형식을 자바에서 파싱하기

var insertArray=[];

var updateArray=[];

var deleteArray=[];

$.each(dataSet,function(index,m){

switch(m.state){

case 'insert' :  insertArray.push(m); break;

case 'update' :  updateArray.push(m); break;

case 'delete' :  deleteArray.push(m); break;

}

});

var sendObject={"insert":insertArray,"update":updateArray,"delete":deleteArray};

var sendMsg=$.toJSON(sendObject);    //키 값 키 값 ... 을 문자열로 바꿔준다. 예)"{'insert':insertArray}"


//jQuery ajax 방식으로 json2,jsp로 data에 msg라는 키와 문자열로된 값을 전송한다.

$.ajax({

url:'json2.jsp',

data:{msg:sendMsg},

success:function(data){    //전송이 성공적이면 여기 소스가 실행된다.

},

error:function(request,status,error){ alert(request+","+status+","+error); }    //전송이 실패되면 여기 소스기 실행된다.

});


<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>

<%@ page import="java.util.ArrayList" %>

<%@ page import="java.util.HashMap" %>

<%@ page import="net.sf.json.JSONObject"%>

<%@ page import="net.sf.json.JSONArray"%>  

<%@ page import="com.seoulit.member.model.MemberDAO" %>

<%@ page import="com.seoulit.member.model.Member" %>

<%

String string=request.getParameter("msg");

JSONObject jsonobject=JSONObject.fromObject(string);    //문자열을 jsonobject형식으로 바꿔준다.

JSONArray insertArray=jsonobject.getJSONArray("insert");    //보낼 때 배열로 보냈기 때문에 키를 주면 JSONArray로 받는다.

JSONArray updateArray=jsonobject.getJSONArray("update");

JSONArray deleteArray=jsonobject.getJSONArray("delete");

ArrayList<Member> insertArrayList=new ArrayList<Member>();

ArrayList<Member> updateArrayList=new ArrayList<Member>();

ArrayList<Member> deleteArrayList=new ArrayList<Member>();

for(int i=0; i<insertArray.size(); i++){

JSONObject obj=insertArray.getJSONObject(i);    //배열을 다시 object에 담고

insertArrayList.add((Member)JSONObject.toBean(obj,Member.class));    //toBean에 객체와 Member클래스를 넘겨주면Member객체로 바꿔준다.

}

for(int i=0; i<updateArray.size(); i++){

JSONObject obj=updateArray.getJSONObject(i);

updateArrayList.add((Member)JSONObject.toBean(obj,Member.class));

}

for(int i=0; i<deleteArray.size(); i++){

JSONObject obj=deleteArray.getJSONObject(i);

deleteArrayList.add((Member)JSONObject.toBean(obj,Member.class));

}

MemberDAO dao=MemberDAO.getInstance();

dao.insertMemberList(insertArrayList);

dao.updateMemberList(updateArrayList);

dao.deleteMemberList(deleteArrayList);

%>


문제가 있다면 지적 부탁드립니다.^^


WRITTEN BY
먿쨍이
개발바보

,