한국천문연구원 특일 정보
24절기
(24 Divisions)
[한국천문연구원(https://kasi.re.kr/)]이 제공하는 정보 중에
'특일 정보'라는 것이 있습니다.
특일 정보에는
'국경일 정보, 공휴일 정보, 24절기 정보' 등이 포함되어 있습니다.
24절기는
'12절 , 12기'로
이루어져 있습니다.
'Open API'를 호출하는
자바스크립트 코드를 작성하여
정보를 얻을 수 있습니다.
24절기 정보를 얻기 위해서는
인터넷 상에서
GET 방식으로
요청(Request)을 보내야 하는데...
우선
인증키를 발급받아야 합니다.
[공공데이터 포털(https://www.data.go.kr/)]에서
회원가입하여 로그인 한 후
특일 정보(Open API)를 검색하여
'활용신청'을 하면
인증키를 발급받게 됩니다.
인증키를 받게되면
인증키를 GET 방식으로
Query String에 정보를 첨부하여
'한국천문연구원'에
서비스를 요청하게 되는 것입니다.
그 후
응답이 오면
응답(Response ) 정보를 분석(Parsing)하여야 하는데
xml 형식이나 json 형식 중
(기본적으로 xml 형식의 데이터임)
분석에 자신있는 형식으로 데이터를 요청하여 받으면 됩니다.
만약 JSON 형식의 문자열 정보를 받았다면
구체적인 분석을 위해
다음과 같이 JSON 객체의 parse 함수에
json 형식의 문자열 객체(this.responseText)를 인자로 제공한 후
분석하면 됩니다.
var mydata = JSON.parse(this.responseText);
2015년도
24절기 정보
요청(Request)
아래 코드는
json 형식의
24절기 정보를 얻기 위한
핵심 자바스크립트 코드입니다.
그 중...
var mydata = JSON.parse(this.responseText);
이후
루프를 돌리면서
(구체적인 방법은 인터넷 상에서 검색해 볼 것)
원하는 데이터 부분만 추출해낼 수 있습니다.
xhr.send('');
2015년도
24절기 정보
응답(Response)
아래 2015년도 정보에 의하면
'소한'의 절입일시는
2015년 01월 06일, 01시 20분 임을 알 수 있습니다.
responseText:
{"response":{"header":{"resultCode":"00","resultMsg":"NORMAL SERVICE."},"body":{"items":{"item":[{"dateKind":"03","dateName":"소한","isHoliday":"N","kst":"0120 ","locdate":20150106,"seq":1,"sunLongitude":285},{"dateKind":"03","dateName":"대한","isHoliday":"N","kst":"1843 ","locdate":20150120,"seq":1,"sunLongitude":300},{"dateKind":"03","dateName":"입춘","isHoliday":"N","kst":"1258 ","locdate":20150204,"seq":1,"sunLongitude":315},{"dateKind":"03","dateName":"우수","isHoliday":"N","kst":"0850 ","locdate":20150219,"seq":2,"sunLongitude":330},{"dateKind":"03","dateName":"경칩","isHoliday":"N","kst":"0656 ","locdate":20150306,"seq":1,"sunLongitude":345},{"dateKind":"03","dateName":"춘분","isHoliday":"N","kst":"0745 ","locdate":20150321,"seq":1,"sunLongitude":0},{"dateKind":"03","dateName":"청명","isHoliday":"N","kst":"1139 ","locdate":20150405,"seq":2,"sunLongitude":15},{"dateKind":"03","dateName":"곡우","isHoliday":"N","kst":"1842 ","locdate":20150420,"seq":2,"sunLongitude":30},{"dateKind":"03","dateName":"입하","isHoliday":"N","kst":"0452 ","locdate":20150506,"seq":1,"sunLongitude":45},{"dateKind":"03","dateName":"소만","isHoliday":"N","kst":"1745 ","locdate":20150521,"seq":2,"sunLongitude":60}]},"numOfRows":10,"pageNo":1,"totalCount":24}}}