jquery는 JSON.parse()를 사용한다.

다음의 코드는 서버로 HTTP request를 날린 후 response로 JSON데이터를 받아 alert를 찍어주는 부분이다.

$.ajax({
    type : "GET",
    url : "${pageContext.request.contextPath}/json.do",
    dataType : "json",
    data : "adsId=" + adsId + "&cmd=" + cmd,
    success : function(json) {
        if (json.isSuccess) {
            alert(json.msg);
        }
        alert(json.info.adsName);
        alert(json.info.imp);
        alert(json.info.click);
    },
    error : function(e) {
        alert("처리중 장애가 발생하였습니다.");
    }
});

서버에서 response하는 데이터는 다음과 같이 단순 문자열을 client에 보내게 된다. (객체가 아님.)

{
    "isSuccess": true,
    "msg": "jsonTest",
    "list": [
        null
    ],
    "info": {
        "adsName": "adsInfo",
        "click": 10,
        "imp": 1000
    }
}

결국 var json = ‘{“isSuccess”:true,”msg”:”jsonTest”,”list”:[null],”info”:{“adsName”:”adsInfo”,”click”:10,”imp”:1000}}’; 와 같이 받아서 각 속성 값에 접근하여 사용하는 것으로 오해할 수 있는데 사실 알고보면 위의 $.ajax 코드에서는 보이지 않지만 jquery내부에서는 서버에서 전달 받은 데이터를 JSON.parse()를 이용하여 객체 타입으로 변경해 주는 것이다.

 대략적으로 다음과 같이 객체 타입으로 변경해준다.

var json = {
    isSuccess : true,
    msg : "jsonTest"
};