우리가 naver.com 같은 웹 페이지에 접속 할 때 우리가 보는 페이지들은 모두 서버에서 준비한 것들을 받아서 브라우저에서 그려준 화면이다.
위와 같이 클라이언트(브라우저)가 서버 측 API에 요청하고 서버에서는 요청 받은 것을 처리하여 다시 클라이언트에게 전송한다.
하지만 이렇게 매번 HTML을 다시 보내주면 페이지가 항상 새로고침 되어야하기 때문에 데이터만 내려보내주는 경우가 더 많은데
이렇게 데이터만 내려오는 형식을 JSON 형식이라고 한다.
http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99
위 링크를 클릭하면 실시간 서울 구들의 미세먼지 및 대기 상황을 나타내는 JSON 형식을 볼 수 있다.
{
"RealtimeCityAir": {
"list_total_count": 25,
"RESULT": {
"CODE": "INFO-000",
"MESSAGE": "정상 처리되었습니다"
},
"row": [
{
"MSRDT": "202209031100",
"MSRRGN_NM": "도심권",
"MSRSTE_NM": "중구",
"PM10": 14.0,
"PM25": 6.0,
"O3": 0.032,
"NO2": 0.013,
"CO": 0.3,
"SO2": 0.002,
"IDEX_NM": "보통",
"IDEX_MVL": 52.0,
"ARPLT_MAIN": "O3"
},
]
}
페이지에서 데이터가 위와 같은 형태로 보이지 않는다면 크롬 확장프로그램에서 JSONView를 설치하면 된다.
JSON은 Key : Value로 이루어져 있는데 자료형 Dictionary와 유사하다.
위 예시에서는 RealtimeCityAir 라는 키 값에 딕셔너리형 Value가 들어있고 또 그 딕셔너리 안에서 list_total_count라는 키 값에 25라는 밸류값,
RESULT라는 키 값에는 또 딕셔너리 형태의 밸류 값이 들어있는 형태이다. (아래 row 키 값에는 [] 리스트형 밸류 값이 들어가 있음)