- 자바객체를 JSON객체로 변환하여 사용하는 예제

[[   test01.html   ]]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>

<script type="text/javascript" src="../js/ajaxutil.js"></script>
<script type="text/javascript" src="../js/json.js"></script>
<script type="text/javascript">
    var xhr=null;
    function getData(){
        xhr=getXHR();
        xhr.onreadystatechange=callback;
        xhr.open("get","server1.jsp",true);
        xhr.send(null);
    }
    function callback(){
        if(xhr.readyState==4 && xhr.status==200){
            var str=xhr.responseText;
            //str을 json객체로 변환(json.js에 포함된 메소드)
            var json=str.parseJSON();
            var tt=json.num + "," + json.id + "," + json.comments;
            document.getElementById("result").innerHTML = tt;
        }
    }
</script>
</head>
<body>
<input type="button" value="서버에서 값받아오기" onclick="getData()"/>
<div id="result">
</div>
</body>
</html>


[[  server1.jsp  ]]
<%@page import="java.io.PrintWriter"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="test.vo.CommentsVo"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
    CommentsVo vo = new CommentsVo(1,"song","very good!");
   //자바객체를 json객체타입으로 변화해 주는 객체
    //자바의 Map과 유사
    JSONObject jb = new JSONObject();
    if(vo!=null){
        jb.put("find","ok");
        jb.put("num",vo.getNum());
        jb.put("id",vo.getId());
        jb.put("comments", vo.getComments());
    }else{
        jb.put("find", "no");
    }
    //json으로 응답하기 위한 콘텐트타입 설정.
    response.setContentType("text/plain;charset=utf-8");
    PrintWriter pw = response.getWriter();
    pw.println(jb.toString());
    pw.close();
%>

'WEB > Ajax Json' 카테고리의 다른 글

아이디 중복 체크하기 예제  (0) 2015.02.26
AJAX #08 JSON  (0) 2013.05.04
AJAX #06 JSON 관련 jar, javascript파일  (0) 2013.05.04
AJAX #05 JSON  (0) 2013.05.04
AJAX #04 댓글 달기 예제  (1) 2013.05.04

+ Recent posts