서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다.
JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다.
JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.
JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어졌다.
{
"family": [
{
"name": "ChangHyun",
"lastName": "Yoon"
},
{
"name": "SoJung",
"lastName": "Yoon"
}
]
}
JSON 형식은 자바스크립트 객체와 마찬가지로 key / value가 존재할 수 있으며 key값이나 문자열은 항상 쌍따옴표를 이용하여 표기해야한다.
객체, 배열 등의 표기를 사용할 수 있다.
- String
- Number
- boolean
- null
- object
- array
일반적으로 객체와 배열이 JSON 데이터 구조에서 최상위 레벨에 있다.
여러가지 언어들에서 object등으로 실현되었다.
{ String key : String value }
{
"firstName": "Yoon",
"lastName": "ChangHyun",
"email": "changh@gmail.com"
}
여러가지 언어들에서 배열(Array) 등으로 실현되었다.
[value1, value2, ...]
{
"firstName": "Yoon",
"lastName": "ChangHyun",
"email": "changh@gmail.com",
"hobby": ["TaeKwonDo","Shoot"]
}
자바스크립트는 JSON 데이터를 처리하기 위한 다음과 같은 메소드를 제공하고 있다.
JSON.stringify()
- 인수로 전달받은 자바스크립트 객체를 문자열로 변환하여 반환.
JSON.parse()
- JSON.stringify() 와는 반대로 인수로 전달받은 문자열을 자바스크립트 객체로 변환하여 반환.