본문 바로가기

WEB_Programming/Javascript

JSON 소개

간단한 예제 : jsonExample.txt

{
"zip": [
    {"zipcode":"4000160",
     "dong":"경동",
     "addr":"인천 중구 경동"
    },
    {"zipcode":"12345",
     "dong":"가나다",
     "addr":"서울시"
    },
    {"zipcode":"44441",
     "dong":"우리동",
     "addr":"울산시"
    },
    {"zipcode":"3131",
     "dong":"가나루",
     "addr":"호호호"
    }
]
}

JSON (JavaScript Object Notation)은 라이트웨이트 데이터 구조 형식이다. 이것은 사람이 읽고, 쓰기 쉬운 형태로 되어 있다. 이것은 기계가 파싱하고, 생성하기 쉬운 구조로 되어 있다. 이것은 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999에 기반을 두고 있다. JSON은 텍스트 포맷으로 이것은 완벽한 독립적인 언어이다. 그러나 C계열의 언어를 개발하는 프로그래머에게는 매우 잘 알려진 형식으로 사용된다. (C, C++, C#, Java, JavaScript, Perl, Python과 다른 언어들) 이러한 속성은 언어간 데이터 교환을 위해서 JSON이 개발되었다.

JSON은 2개의 구조로 구성되어 있다.

  • 이름/값의 쌍의 컬렉션으로 구성되어 있다. 많은 언어에서 object, record, struct, dictionary, hash table, keyed list, associative array를 구현한다.
  • 변수의 나열된 리스트, 많은 언어에서 배열, 백터, 리스트, 시퀀스를 구현하고 잇다.

이것은 통합적인 데이터 구조이다. 가상적으로 모든 현대의 프로그래밍 어언어의 대부분에서 이러한 기능을 제공한다. 이것은 데이터 형식으로써 이러한 구조를 프로그래밍 언어 상호간에 교환 할 수 있음을 나타낸다.

JSON에서 그러한 것은 이러한 폼을 가지고 있다.

object는 이름/값의 쌍으로 순서가 없이 이루어 져 있다. 객체는 {(left brace)로 시작해서 }(right brace)로 끝이난다. 각 이름은 다음과 같이 :(colon) 기호와 name/value쌍을 ,(comma)로 구분하고 있다.

사용자 삽입 이미지

array는 순서있는 배열의 컬렉션이다. 배열은 [(left bracket)로 시작해서 ](right bracket)로 끝이난다. 값은 ,(comma)로 구분된다.

사용자 삽입 이미지

value는 더블쿼터로 구성된 스트링 혹은 숫자, 혹은 true/false, null, object, array와 같은 값이다. 이것은 구조체에 포함될 수 있다.

사용자 삽입 이미지

string는 0이나 더 많은 유니코드 캐릭터고 구성된 컬렉션이며, 더블쿼터로 쌓여 있고, 백 슬레쉬를 이용한 이스케이프 문자를 포함한다. 캐릭터는 스트링에서 단일 캐릭터를 표현한다. 스트링은 매우 C와 Java의 스트링과 가깝다.

사용자 삽입 이미지

number은 매우 C와 Java와 가까운 코드이다. 이것은 8진수 혹은 16진수 형식은 사용하지 않는다.

사용자 삽입 이미지

공백은 어떠한 토큰의 쌍에 입력될 수 있다.


사용되는 형식

object
{}
{ members }

members
pair
pair , members
pair
string : value
array
[]
[ elements ]
elements
value
value , elements
value
string
number
object
array
true
false
null



string
""
" chars "
chars
char
char chars
char
any-Unicode-character-
    except-"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
number
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-

'WEB_Programming > Javascript' 카테고리의 다른 글

JavaScript 습작...  (0) 2008.10.15
[JAVASCRIPT] insertBefore  (0) 2008.08.11
[HTML] 동영상 플레이 처리하기  (0) 2008.07.30
[JavaScript]이미지 버튼 스크롤  (0) 2008.07.19
Javascript에서 쿠키 처리하기  (0) 2008.07.18