티스토리 뷰
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에 대해서, 알아보도록 하겠습니다.
[출처] Hello JSON(1) : javascript의 배열|작성자 스프링전
'Web Programming > 기타 자료' 카테고리의 다른 글
JSON강좌 (2)(펌) (0) | 2011.02.17 |
---|---|
자바스크립트로 소수점 몇자리 이하 반올림 하기 소스 (3) | 2010.10.01 |
iBATIS 설정 및 사용방법 (0) | 2009.08.21 |