JSON 개요

황제낙엽 2009.03.11 07:43 조회 수 : 416 추천:120

sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars4  
extra_vars5  
extra_vars6  
JSON(제이슨, JavaScript Object Notation)은, 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법이다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다.
그 형식은 자바스크립트의 구문 형식을 따르지만, 프로그래밍 언어나 플랫폼에 독립적이므로 C, C++, 자바, 자바스크립트, 펄, 파이썬 등 많은 언어에서 이용할 수 있다.
RFC 4627로 규격화되었다.

문법
JSON 문법은 자바스크립트 표준인 ECMA-262 3판의 객체 문법에 바탕을 두며, 인코딩은 유니코드로 한다. 표현할 수 있는 자료형에는 수, 문자열, 참/거짓이 있고, 또 배열과 객체도 표현할 수 있다.
배열은 대괄호로 나타낸다. 배열의 각 요소는 기본자료형이거나 배열, 객체이다.
[10, {"v": 20}, [30, "마흔"]] 객체는 이름/값 쌍의 집합으로, 중괄호로 싼다. 이름은 문자열이기 때문에 반드시 따옴표를 하며, 값은 기본자료형이거나 배열, 객체이다. 각 쌍이 나오는 순서는 의미가 없다.
{"name2": 50, "name3": "값3", "name1": true} - 밑에 처럼 이름에 따옴표를 주지 않아도 상관 없지만 문자열과 숫자를 명확히 구분하실려면 따옴표를 입력하는게 소스분석에 도움이 되실겁니다. {name2: 50, name3: "값3", name1: true} JSON 메시지 단위는 배열이나 객체이다. 위의 두 예는 JSON 메시지가 될 수 있다.
예제)
다음은 한 사람에 관한 정보를 갖는 JSON 객체이다.
{
    "이름": "홍길동",
    "나이": 20,
    "성별": "남",
    "기혼": false,
    "주소": null,
    "특기": ["병법", "도술"],
    "가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"}
}

장점
JSON은 텍스트로 이루어져 있으므로, 사람과 기계 모두 읽고 쓰기 쉽다.
프로그래밍 언어와 플랫폼에 독립적이므로, 서로 다른 시스템간에 객체를 교환하기에 좋다.
자바스크립트의 문법을 채용했기 때문에, 자바스크립트에서 eval 명령으로 곧바로 사용할 수 있다. 이런 특성은 자바스크립트를 자주 사용하는 웹 환경에서 유리하다.

번호 제목 글쓴이 날짜 조회 수
86 MS 익스플로러상에서 문제가 되는 Leak 모델 황제낙엽 2009.04.03 535
85 잘못된 종속관계 해지에 따른 메모리 누수 예제 황제낙엽 2009.04.03 411
84 [펌] TAEYO.NET - Js OOP - 나만의 프레임워크 만들기 황제낙엽 2009.04.02 396
83 [펌] TAEYO.NET - Js OOP - 사용자 정의 객체. 그리고 상속과 재사용 황제낙엽 2009.04.02 391
82 [펌] TAEYO.NET - JavaScript OOP 코어객체와 prototype를 사용한 객체확장 황제낙엽 2009.04.02 403
81 [펌] TAEYO.NET - JavaScript OOP 스트레칭 황제낙엽 2009.04.02 384
80 [펌] 아사페릴의 사생활 - 싱글톤 패턴을 지향한 Javascript Module Pattern 황제낙엽 2009.04.02 481
79 [펌] 아사페릴의 사생활 - Code Conventions for the JavaScript Programming Language 황제낙엽 2009.04.02 537
78 [펌] 아사페릴의 사생활 - __proto__ 와 construct 와 prototype 황제낙엽 2009.04.02 394
77 [펌] 아사페릴의 사생활 - prototype과 __proto__ 와 constructor 황제낙엽 2009.04.02 438
76 [펌] 아사페릴의 사생활 - __proto__ 와 prototype에 대해.. 황제낙엽 2009.04.02 374
75 [펌] 아사페릴의 사생활 - Javascript의 클래스에 관한 이야기 황제낙엽 2009.04.02 423
74 [펌] 아사페릴의 사생활 - Javascript의 constructor 와 prototype 황제낙엽 2009.04.02 536
73 [펌] prototype (2) 황제낙엽 2009.04.02 378
72 [펌] prototype (1) 황제낙엽 2009.04.02 402
» 개요 황제낙엽 2009.03.11 416
70 unshift() Method 황제낙엽 2009.03.02 670
69 javascript replaceall의 방법에 따른 처리 속도 비교 황제낙엽 2009.02.11 477
68 파이어폭스로 스크립트 디버깅하기 황제낙엽 2009.01.14 431
67 숫자 여부와 자리수를 체크 하는 예제 황제낙엽 2009.01.12 5570