JSON 사용하기, get 함수 설정
1. JSON 라이브러리 다운
Maven Repository: Search/Browse/Explore
Bus Storage Last Release on Jun 16, 2020
mvnrepository.com
위 사이트 접속 후 JSON simple 검색 -> 1.1.1 버전 -> https://mvnrepository.com/
Maven Repository: Search/Browse/Explore
Bus Storage Last Release on Jun 16, 2020
mvnrepository.com
위 사이트 접속 후 JSON simple 검색 -> 1.1.1 버전 -> view all -> json-simple-1.1.1.jar 다운
다운받은 파일 WEB-INF/lib 폴더로 이동
2. 데이터를 받아서 JSON으로 처리하기
<%
request.setCharacterEncoding("utf-8");
JAddressDAO dao = JAddressDAO.getInstance();
String dong = request.getParameter("dong");
ArrayList<JZipCode> arr = dao.zipRead(dong); // json형태로 바꿔서 콜백함수에 뿌려주기
JSONArray jarr = new JSONArray();
for(JZipCode z : arr){
JSONObject obj = new JSONObject();
obj.put("zipcode",z.getZip_num());
obj.put("sido",z.getSido());
obj.put("gugun",z.getGugun());
obj.put("dong",z.getDong());
obj.put("bunji",z.getBunji());
jarr.add(obj);
}
out.println(jarr.toString());
%>
- dao 객체의 zipRead()메서드로 검색한 결과를 받아와서 arr 배열에 저장
- JSONArray형 jarr배열 생성
- JSONObject형 obj 객체 생성하여 arr에 저장된 값을 obj 객체에 넣고 jarr에 대입
- for문으로 모든 데이터가 jarr 배열에 입력된 후 jarr을 콜백함수에 전달
3. JSON 데이터 출력하기
$(function(){
$("#send").click(function(){
$.get("jZipCheckPro.jsp",
{"dong":$("#dong").val()},
function(data){
data = $.parseJSON(data);
var htmlStr = "<table>";
for(var i=0;i<data.length;i++){
htmlStr += "<tr>";
htmlStr += "<td>"+data[i].zipcode+ "</td>";
htmlStr += "<td>"+data[i].sido+ "</td>";
htmlStr += "<td>"+data[i].gugun+ "</td>";
htmlStr += "<td>"+data[i].dong+ "</td>";
htmlStr += "<td>"+data[i].bunji+ "</td>";
htmlStr += "</tr>";
}
htmlStr += "</table>";
$("#area").html(htmlStr);
}
)
});
})
- JSON 타입 데이터를 받아오면 위에 출력된 것 처럼 [{데이터},{데이터}] 형식으로 가져온다.
- 이를 $.parseJSON을 이용해서 데이터를 parse하여 값들을 출력한다.
- $.get대신에 $.getJSON을 사용하면 parse하지 않고 바로 값들을 출력할 수 있다.
- 태그들과 데이터를 합쳐서 htmlStr변수에 넣은 후 html메서드로 #area영역에 가져온 값들을 출력하였다.
get()메서드 return 설정
: get()메서드를 generate로 자동으로 만들 때 return 값을 설정한다.
삼항연산자를 사용하여 null값이면 공백, 아니라면 trim으로 공백을 제거한 원래의 값이 return된다.