AJAX

ajax : GSON 엄청간단하게 보이나 이해안됨.^^

나이많은 초보 2022. 10. 5. 11:53

Jackson과 Gson 모두 Java에 대한 JSON 데이터 바인딩 지원을 제공하는 완전한 라이브러리입니다.

 

Jackson은 Spring 프레임 워크에 내장되어있지만

Gson은 pom.xml에 따로 추가해 줘야 한다

직렬화, serializing, marshal : java 객체 -> json

역직렬화, deserializing, umarshal : json -> java 객체

	<dependency>
		<groupId>com.google.code.gson</groupId>
		<artifactId>gson</artifactId>
		<version>2.8.5</version>
	</dependency>

빈있어야 한다...

	@ResponseBody
	@RequestMapping(value="/ajax/ex6.kh", produces="application/json;charset=UTF-8", method=RequestMethod.GET)
	public String exerciseAjax6() {
		ArrayList<Member> mList=new ArrayList<Member>();
		mList.add(new Member("khuser01", "pass01"));
		mList.add(new Member("khuser02", "pass02"));
		mList.add(new Member("khuser03", "pass03"));
		mList.add(new Member("khuser04", "pass04"));
		mList.add(new Member("khuser05", "pass05"));
		
		
		//JSONArray jsonArr= new JSONArray();
		/*  GSON을 쓰면 필요 없어진다.
		 * for(Member mOne : mList) { JSONObject jsonObj=new JSONObject();
		 * jsonObj.put("memberId", mOne.getMemberId());
		 * jsonObj.put("memberPwd",mOne.getMemberPwd()); jsonArr.add(jsonObj);
		 * 
		 * } retrun jsonArr.toString();
		 */
		
		Gson gson=new Gson();
		return gson.toJson(mList);
	}

 

/* 7번 GSON 이용한것  */
	$("#jq-btn7").on("click", function(){
		
		$.ajax({
			url:"/ajax/ex6.kh",
			type:"get",			
			success:function(data){
/* 				data.forEach((member,i)=> {				
				$("#p6").append('<p>'+member.memberId +member.memberPwd+'</p>');	
				});	 */	
				var htmlSTR='';
				for(var i=0;i<data.length;i++){
					htmlSTR+=data[i].memberId +","+ data[i].memberPwd+"<br>";
				}
					$("#p7").html(htmlSTR);
			},
			error:function(){
				console.log("처리실패");
			}
		})
	})
<h4>7. GSON을 이용한 List 변환</h4>
	<p>전체리스트 가져오기</p>
	<p id="p7"></p>
	<button id="jq-btn7">실행 및 결과확인</button>