[21.09.30] json 파싱

yed·2021년 9월 30일
0

자바스크립트는 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에 저장

클라이언트에서 서버로 JSON객체 전송

데이터를 서버로 전송

  1. 자바스크립트로 데이터를 가져와야함
  2. 자바스크립트에서 데이터 가공
  3. ajax로 요청 전송하기

JSON객체 자바에서 파싱하기

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방식은 데이터를 저장하는 방식에 주로 사용

서버에서 클라이언트로 JSON객체 전송

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());

$.getJSON(url, data, callback)

요청한 url의 JSON 데이터를 호출한다
JSON 데이터를 한번에 처리해줌.
JSON 파싱과정이 포함된 호출방법

  • url : 서버의 요청주소
  • data : 요청과 함께 보낼 데이터. 생략가능
  • callback : JSON 데이터가 리턴되었을 때 처리할 함수

서버사이드에서 오는 데이터가 JSON 형태일때만 사용한다

$.getJSON(
	'../info.do',
	function(jsonData) {
		console.log(typeof(jsonData));
	}
);

jsonData는 info.do에서 넘어온 JSON 데이터인데 자동으로 파싱되어 Object타입이다.

profile
6개월 국비과정 기록하기

0개의 댓글