JSON 이란?
JavaScriptObjectNotation은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷입니다.
웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용합니다.(서버에서 클라이언트로 데이터를 전송하여 표현하려거나 반대의 경우).
JSON의 구조
// openweathermap api에 요청하고 받은 데이터 값
{
"coord": {
"lon": 126.9498,
"lat": 37.3888
},
"weather": [
{
"id": 804,
"main": "Clouds",
"description": "overcast clouds",
"icon": "04d"
}
],
"base": "stations",
"main": {
"temp": -1.55,
"feels_like": -7.72,
"temp_min": -2.5,
"temp_max": -1.26,
"pressure": 1023,
"humidity": 45,
"sea_level": 1023,
"grnd_level": 1018
},
"visibility": 10000,
"wind": {
"speed": 6.61,
"deg": 299,
"gust": 11.72
},
"clouds": {
"all": 100
},
"dt": 1643961612,
"sys": {
"type": 1,
"id": 5509,
"country": "KR",
"sunrise": 1643927604,
"sunset": 1643965123
},
"timezone": 32400,
"id": 1846898,
"name": "Anyang-si",
"cod": 200
}
- 순수히 데이터 포맷이다. 오직 프로퍼티만 담을 수 있고, 메서드는 담을 수 없다.
- 문자열과 프로퍼티의 이름 작성시 큰 따옴표만을 사용해야 한다.
- JSON내부에 포함할 수 있는 모든 형태의 데이터 타입을 취할 수 있다. 즉, 배열이나 오브젝트 외에도 단일 문자열이나 숫자 또한 유효한 JSON 오프젝트가 된다.
- 자바스크립트에서 오브젝트 프로퍼티가 따옴표로 묶이지 않을 수도 있는 것과 달리, JSON에서는 따옴표로 묶인 문자열만이 프로퍼티로 사용될 수 있다.