< JSON >


- 서로 다른 프로그래밍 언어간의 데이터 통신을 위한 표기법

 (읽고 쓰기 쉬운 표현법)


 - 경량의 데이터를 교환하는 방식으로 인터넷에서 데이터를 주고받을때 표현하는 방법


 - name/value 형태의 한쌍으로 표현된다.




예제1>

1) 호출 HTML

2) 데이터 JSP


[[  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">

    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){

            //json으로 응답이 오면 responseText로 얻어온다.

            var txt = xhr.responseText;//xml형태가 아니므로

            //txt={"id":"song","pwd":"1234"}

            //전송받은 txt를 json타입으로 변환하기.

            var json=eval("(" + txt + ")");

            //결과를 출력할 div참조값 얻어오기.

            var result=document.getElementById("result");

            result.innerHTML = json.id + "," + json.pwd;

        }

    } 

</script>

</head>

<body>

<input type="button" value="서버에서 값받아오기" onclick="getData()"/>

<div id="result">

</div>

</body>

</html>



[[   server1.jsp  ]]

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>

{"id":"song","pwd":"1234"}



실행하면 server1.jsp에 있는 id,pwd값을 가져와 보여준다.





예제2>

- JSON 배열 예제 


[[  server2.jsp  ]]

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

{"list":[{"id":"song","pwd":"1234"},

          {"id":"park","pwd":"5678"},

          {"id":"lee","pwd":"1111"}

        ]}


--> 배열 형식 {"":[{...}] }


[[  test02.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">

    var xhr=null;

    function getData(){

        xhr=getXHR();

        xhr.onreadystatechange=getList;

        xhr.open("get","server2.jsp",true);

        xhr.send(null);

    }

    function getList(){

        if(xhr.readyState==4 && xhr.status==200){

            var str=xhr.responseText;

            var data=eval('('+str+')');

            //alert(data);

            /-

            var data = {"list":[{"id":"song","pwd":"1234"},

                                  {"id":"park","pwd":"5678"},

                                  {"id":"lee","pwd":"1111"}]};

            data.list[0].id

            *-

            var str="";

            for(var i=0;i<data.list.length;i++){

                str = str + data.list[i].id + "," + data.list[i].pwd + "<br/>";

            }

            //전송받은 데이터를 div에 넣기

            document.getElementById("result").innerHTML=str;

        }

    }

</script>

</head>

<body>

    <input type="button" value="서버로 부터 데이터 받기" onclick="getData()">

    <div id="result">

    </div>

</body>

</html>




+ Recent posts