JSON(JavaScript Object Notation)
json은 "속성 - 값" 또는 "키 - 값" 쌍으로 이루어진 데이터 오브젝트를 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. AJAX, XML 등을 대체하며 .json 확장자를 가진다.
JSON 기본 자료형
자료형으로는 number, string, boolean, array, object, null 이 있다. 다음은 이 자료형 들의 특징이다.
number : 8진수, 16진수, 표현 방법은 지원하지 않는다.
string : 항상 큰따옴표(")로 묶어야 하고, 역슬래시(\)는 제어 문자를 표현한다.
- \b 백스페이스
\f 폼 피드
\n 개행
\r 캐리지 리턴
\t 탭
\" 따옴표
\/ 슬래시
\\ 역슬래시
\uHHHH 16진수 네자리로되어 있는 유니코드 문자
array : 대괄호[]로 나타내며, 각 요소들은 (,)로 구분한다. 요소간의 순서에 의미가 있다.
- ex) [10, {"k":10}, [1,"one"]]
object : 순서가 없는 "이름-값" 쌍의 집합으로 이름은 항상 string 자료형이다. 중괄호{}를 사용한다.
JSON 객체 예시 ( 키-값 패턴으로 표기)
{
"이름": "phulasso",
"나이": 18,
"성별": "남",
"주소": "경기도 수원시",
}
JSON 장점
- 텍스트로 이루어져 있어 사람과 기계 모두 읽고 쓰기 쉽다.
- 프로그래밍 언어와 플랫폼에 독립적이므로 서로 다른 시스템 간 객체를 교환하기에 좋다.
- js문법을 채용하여 eval 명령으로 곧바로 실행이 가능하다. 그러나 외부에서 악성코드 유입 가능성이 있다. 최신 웹 브라우저 들은 json 전용 파서 기능을 내장하고 있고, 더 안전하고 빠르다.