일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 DATA 양식이다. 경량의 DATA 교환 형식이다.
--> 단순히 DATA를 표현하는 방법이다.
JavaScript에서 객체를 만들 때 사용하는 표현식을 의미한다.
이해하기 쉽고 크기가 작으며 간결하고 통일된 양식으로 XML을 대체하는 양식으로 각광을 받고 있다.
클라이언트와 서버간의 통신에서 주로 사용된다.
JavaScript 객체 표기법과 매우 유사하다.
JavaScript 문법과 굉장히 유사하지만 텍스트 형식일 뿐이다.
JavaScript를 이용하여 JSON 형식의 문서를 쉽게 JavaScript 객체로 변환할 수 있다.
JSON은 JavaScript 객체의 형식을 기반으로 만들어졌다.
다른 프로그래밍 언어를 이용하여 쉽게 만들 수 있다.
특정 언어에 종속X, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 조작할 수 있는 라이브러리를 제공한다.
{
"회사": [
{
"이름": "Apple",
"운영체제": [
"macOS",
"iOS"
]
},
{
"이름": "Microsoft",
"운영체제": [
"MS-DOS",
"Windows"
]
}
]
}
JSON 형식은 JavaScript 객체와 마찬가지로 (key/value) 쌍으로 존재할 수 있으며 key값이나 문자열은 항상 쌍따옴표를 이용하여 표기해야한다.
객체, 배열 등의 표기를 할 수 있다.
일반 JavaScript의 객체처럼 원하는 만큼 중첩시켜 사용할 수도 있다.
null, number, string, array, object, boolean을 사용할 수 있다.
{
"firstName": "Kim",
"lastName": "dukbae",
"email": "han885404@gmail.com"
}
여러가지 언어들에서 object, hashtable, struct로 구현되었다.
{String key:String value}
{
"firstName": "Kim",
"lastName": "dukbae",
"email": "han885404@gmail.com",
"hobby": ["playsoccer","study"]
}
여러가지 언어들에서 배열, 리스트로 구현되었다.
[value1, value2, ...]
AJAX는 데이터뿐만 아니라 JavaScript 자체를 전달할 수 있다. 이로 인해 비동기 통신으로 받은 데이터가 JSON 데이터일 수도 있고, JavaScript 데이터 일수도 있다. (데이터인줄 알았으나 악성 script 일 수 있다.)
이를 방지하기 위해 받은 내용에서 순수하게 데이터만 추출하기 위한 JSON 관련 라이브러리를 따로 사용한다고 한다.
출처 :
https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://namu.wiki/w/JSON
https://ko.wikipedia.org/wiki/JSON
https://nesoy.github.io/articles/2017-02/JSON
https://wikidocs.net/22330
https://zeddios.tistory.com/90
https://araikuma.tistory.com/339