Javascript 에서 객체를 기술화 하는 방법이다.
Key 와 Value 의 쌍으로 기술하여 객체를 생성 시킬 수 있다.
var student = {
grade : 1 ,
age : 16 ,
name : "jihoon",
home : [
{address : "seoul" , telephone : "222-2222"}
],
call : function() {
alert(this.name);
} ,
score : [
{ subject : "수학" , mark : 90 , score : "A" } ,
{ subject : "과학" , mark : 100 , score : "A+" } ,
{ subject : "사회" , mark : 10 , score : "F" }
]
}
JSON 사용이유
AJAX 에서 통신시 데이터의 형식을 XML 방식으로 받게 되면 XML 파싱 코딩 작업에 대해 부담감이 크다.
AJAX 와 같이 경량화 된 데이터를 주고 받을시 XML 대신 JSON 형태를 쓰게 되면 단순 텍스트 방식으로 데이터를 받을 수 있다.
즉 javascript 의 eval() 함수를 써서 다음과 같이 var student = eval(responseText) ;
간단하게 받은 데이터를 객체화 시킬 수 있다.
1. JSON.parse
-> 우리가 서버에서 받아올때 object형태로 오는데 그걸 우리가 object_name.변수 이런식으로 쓸려면 parse해서 써야 한다.
2. JSON.stringify
-> 우리가 서버에 보낼때 string형태로 보내야 하는데 그럴때 쓰인다.
-> Stringify 된 list를 다시 json형태로 묶을려면 list = eval("(" + list + ")");
-> 이런식으로 스크립트에서 하면 다시 object로 묶어진다.
1. $.parseJSON(list); -> json object형태로 파싱
for(i in sList) {
sList[i].strCd = sCd;
}
2 list = Strigify(list);
-> 하나의 값만 수정할 때는 이런식으로 빼와서 수정하고 다시 넣으면 됨
Ajax 통신에 있어 json Data를 사용 시
1. JSON.parse
서버에서 데이터를 받아올때 object 형태로 오게 된다.
받아온 데이터를 object_name.var 의 형태로 사용하려면 데이터를 parse 해서 써야 한다.
- json object 형태로 파싱
$.parseJSON(list);
for(i in sList) {
sList[i].strCd = sCd;
}
2. JSON.stringify
데이터를 서버에 보낼때 string 형태로 보내야 할때,
ex) var sendData = {email : $("#email").val() , pwd : $("#pwd").val()};
data : JSON.stringify(sendData),
- Stringify 된 list 를 다시 json 형태로 묶을려면 list = eval("(" + list + ")"); 의 방식으로 스크립트에서 수행하면 다시 object 로 묶어진다.