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
- 먿쨍이
개발바보