티스토리 뷰

Web Programming/기타 자료

JSON 강좌 (1)(펌)

Rusi(루시) 2011. 2. 17. 10:04
반응형

JSON(JavaScript Object Notation)은 web에서 데이터를 주고받을 때 사용하는 표현 방법입니다.

약자에서도 알수 있듯이 javascript에 기반하고 있습니다.



그렇기 때문에 우선 자바스크립트의 배열구조를 간단히 알아보도록 하겠습니다.

 

우리가 흔히 프로그래밍 코드에서 배열을 선언 할때는 인덱스([])를 사용해서 표현합니다.

javascript또한 마찬가지 입니다.

 

 

 

 

var array = new Array();

array[0] = 10;

array[1] = 20;

 

 

var arr = [10,20];

 
     

 

 

이런 코드가 가능합니다. 이는 색인배열이라고 부릅니다.

색인배열은 Index로 접근하게되며, 자바스크립트 특성답게 길이는 별도로 선언하지 않아도 됩니다.

배열의 길이가 자동으로 늘어나고, 자동으로 줄어들게 되기 때문입니다.

또한 맨아래 코드와 같이 한번에 선언해 줄 수 있습니다.

 

 

색인배열과 다른 배열이 있습니다. 배열이라고 생각하지 못한 경우도 있을텐데요.

 

 

 

 

 

var array = {};

array[“kor”] = 10;

array[“eng”] = 20;

array.jpn = 30;

 

 

var arr = {kor:10, eng:20, jpn:30};

 
     

 

사용법을 보면, hashtable과 유사한 느낌이 들 수 있습니다.

이를 연관배열이라고 칭합니다.

위 예제에서 jpn과 eng는 용법이 다르지만, 실제로는 똑같이 동작합니다.

그리고 맨 아래와 같이 한줄로 선언 할 수도 있습니다.

array와 arr는 똑 같은 내용을 가지게 됩니다.

 

한가지 특이점은 자바스크립트의 모든 객체들은 연관배열을 기초로 구성되어 있습니다.

그렇기 때문에document.location 과 document[“location”] 은 똑같이 작동합니다.

 

 

배열하면 제일 먼저 생각나는 것이 반복자(반복문, loop)를 생각하시게 될 겁니다.

색인배열이야 별 무리 없겠지만, 연관배열은 생소하신 분도 있으시겠습니다.

 

 

 

 

 

for(var key in array)

{

                  alert(array[key]);

}

 
     

 

 

마치 foreach와 비슷하게 동작하는걸 볼 수 있습니다.

 

 

연관배열과 색인배열과의 가장 큰 차이점은 length의 지원 유무입니다.

연관배열은 별도로 길이를 선언하는 로직이 없는 만큽, 길이를 검사할 수 있는 로직도 없습니다,

그러나 색인 배열은 length를 지원하고 있습니다.

JSON에 대해서 쓰려했는데 js의 배열이야기만 했네요. ;;

다음 포스팅에 JSON에 대해서, 알아보도록 하겠습니다.


http://dogsound.kr

반응형
공지사항