프로그래밍/실버라이트

[실버라이트] JSON 정리 및 구문 분석

쿠샨 2011. 2. 15. 15:12

  1. 정의
    1. JSON( JavaScript Object Notation)
    2. 경량의 데이터 교환 포멧
    3. 인터넷에서 자료를 주고 받을 자료를 표현 하는 방법으로 자료의 종류에 제한은 없으며 특히 컴퓨터 프로그램의 변수 값을 표현하는 적합 하다.
    4. JSON 형식은 자바스크립트 구문 형식을 취한다.

 

  1. 장점
    1. 가독성이 좋고, 데이터 크기가 작다.
      1. JSON 텍스트로 이루어져 있으므로, 사람과 기계 모두 읽고 쓰기 쉽다.
    1. 파싱이 빠르다.
    2. 메모리 사용량이 적다.
    3. RFC 표준으로 승인 되었다.
      1. 프로그래밍 언어와 플랫폼에 독립적이므로, 서로 다른 시스템간에 객체를 교환하기에 좋다.
    1. 객체 구조를 쉽게 표현 있다.
      1. 자바스크립트 문법을 채용했기 때문에, 자바스크립트에서 eval 명령으로 곧바로 사용 가능 하다.
        1. 이런 특성은 자바스크립트를 자주 사용하는 환경에서 유리 하다. 하지만 eval 명령을 사용 하면 외부에서 악성 코드가 유입될 있다.
          1. 대부분의 최신 브라우져는 JSON 전용 파서 기능을 내장하고 있으므로 이런 기능을 사용하기에 더욱 안전하고 빠르다.
  1. 형식
    1. JSON 가지 구조를 기본으로 하고 있다.
      1. Name / Value 형태 [Collection 타입]
        1. 대부분의 언어에서 object, record, struct, dictionary, hash table 등의 형태로 사용 한다.

 

  1. 값의 배열 형태 [ Array 타입 ]
    1. 대부분의 언어에서 array, vector, list등의 형태로 사용 한다.

 

  1. 문법
    1. JSON 문법은 자바스크립트 표준인 ECMA-262 3판의 객체 문법에 바탕을 두며, 인코딩은 유니코드로 한다.
    2. 표현 있는 자료형에는 , 문자열, / 거짓, 배열, 객체 있다.

 

Object


 

Object는 name/value 형태로 정의한다. 정의 방법은 “{“ 시작하고 “}”로 끝내어 표현한다. 그리고 각 name 뒤에 “:”을 붙이고 value을 입력하고 “,”로 값의 쌍을 구분한다. 

{ name:”홍길동”, age:30, address:”서울시”}




 

Array



Array는 값들의 순서화된 배열이다. 정의 방법은 “[“ 시작하고 “]”로 끝내어 표현한다. 그리고 “,”로 값들을 구분한다. 

[1,2,3,4,5,6,7,8,9]



 

Value



 

String



 

Number



 

      5. 예제

{
   
"이름": "테스트",
   
"나이": 25,
   
"성별": "여",
   
"기혼": true,
   
"주소": "서울특별시 양천구 목동",
   
"특기": ["농구", "도술"],        
   
"가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"}
   
"회사": "경기 안양시 만안구 안양7동"
 
}