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>