[개념 공부] JSON 이란?
카테고리: CS
태그: JSON
1. JSON 개요
JSON(제이슨, JavaScript Object Notation)은 속성-값 쌍 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다.
본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷이다. 즉, 프로그래밍 언어나 플랫폼에 독립적이므로, 구문 분석 및 JSON 데이터 생성을 위한 코드는 C, C++, C#, 자바, 자바스크립트, 펄, 파이썬 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있다.
데이터를 주고 받는 표준 포맷
2. JSON 기본 자료형
JSON의 기본 자료형은 다음과 같다.
- 수(Number)
- 문자열(String)
- 참/거짓(Boolean)
- 배열(Array) : 대괄호로 나타내며 요소는 쉼표로 구분한다.
- 객체(Object) : 순서가 없는 이름/값 쌍의 집합으로, 이름(키)이 문자열이다.
- null: 빈 값으로, null을 사용한다
2.1. 배열
배열은 대괄호[]로 나타낸다. 배열의 각 요소는 기본 자료형이거나 배열, 객체이다. 각 요소들은 쉼표(,)로 구별된다. 각 요소가 나타나는 순서에 의미가 있다.
[10, {"v": 20}, [30, "마흔"]]
2.2. 객체
객체는 이름/값 쌍의 집합으로, 중괄호{}를 사용한다. 이름은 문자열이기 때문에 반드시 따옴표를 하며, 값은 기본 자료형이다. 각 쌍들은 쉼표(,)로 구별된다. 각 쌍이 나오는 순서는 의미가 없다.
{"name2": 50, "name3": "값3", "name1": true}
2.3. 예시
"example" : {
"이름": "홍길동",
"나이": 25,
"성별": "여",
"주소": "서울특별시 양천구 목동",
"특기": ["농구", "도술"],
"가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"},
"회사": "경기 수원시 팔달구 우만동"
}
key | value | 형식 |
---|---|---|
이름 | 홍길동 | 문자열 |
나이 | 25 | 숫자 |
성별 | 여 | 문자열 |
주소 | 서울틀별시 양천구 목동 | 문자열 |
특기 | [“농구”,”도술”] | 배열 |
가족관계 | {“#”: 2, “아버지”: “홍판서”, “어머니”: “춘섬”} | 객체 |
회사 | 경기 수원시 팔달구 우만동 | 문자열 |
Reference