자바스크립트는 object 방식으로 데이터를 묶음
object를 파싱해서 json으로 바꿔주고 String인 json을 전송
받은 json은 java형태의 vo로 변환함
반대로 서버에서 vo를 json으로 파싱하고 전송받은 클라이언트에선 object로 바꿔서 사용
json 라이브러리 다운로드
https://code.google.com/archive/p/json-simple/downloads
json-simple-1.1.1.jar 다운받고 lib에 저장
org.json.simple.parser.JSONParser
org.json.simple.JSONObject
doPost()
String obj=request.getParameter("obj");
System.out.println(obj);
JSONParser parser=new JSONParser();
try {
JSONObject jsonObject=(JSONObject)parser.parse(obj);
System.out.println(jsonObject);
String userid=(String)jsonObject.get("userid");
System.out.println(userid);
} catch (ParseException e) {
e.printStackTrace();
}
보통 ajax는 사이트가 시작하자마자 call하게 되고 데이터가 back하게끔 사용한다
서버에서 json을 통째로 클라이언트에 보내면 클라이언트에서 파싱해 데이터들을 사용해야한다
get방식은 데이터를 돌려주는 역할을 주로 사용. post방식은 데이터를 저장하는 방식에 주로 사용
doGet()
//데이터 돌려주는 역할
String userid="test";
String password="1234";
String email="test@test.com";
//JSON 객체 생성
JSONObject jsonObject=new JSONObject();
jsonObject.put("userid", userid);
jsonObject.put("password", password);
jsonObject.put("email", email);
//JSON 객체 전송
response.getWriter().append(jsonObject.toString());
요청한 url의 JSON 데이터를 호출한다
JSON 데이터를 한번에 처리해줌.
JSON 파싱과정이 포함된 호출방법
서버사이드에서 오는 데이터가 JSON 형태일때만 사용한다
$.getJSON(
'../info.do',
function(jsonData) {
console.log(typeof(jsonData));
}
);
jsonData는 info.do에서 넘어온 JSON 데이터인데 자동으로 파싱되어 Object타입이다.