휴일 체크를 위한 또다른 방법

네이버 칼렌다를 이용한 휴일을 체크 할 수 있는 좋은 방법이 있어 공유합니다.

HttpRequest를 이용하여 아래의 주소를 가지고 데이터를 가져오면 Json 형식의 데이터를 얻어 올수 있습니다. q 파라미터로 원하는 날짜를 넘겨주면 해당 날짜를 중심으로 두달가량의 데이터를 가져 옮니다.
https://m.search.naver.com/p/csearch/content/qapirender.nhn?where=nexearch&key=CalendarAnniversary&q=20210201

웹브라우저를 이용한 결과 데이터는 아래와 같습니다.
{ “openCalendar”:{ “daysList”:[ { “lunarDate”:“2020-12-13”, “solarDate”:“20210125”, “dayOfWeek”:2, “leapMonth”:“false”, “luckyDay”:“false”, “anniversaryList”:, “solarWeek”:“월”, “dayOff”:“false”, “hasSchedule”:“false”, “nationalDay”:“false”, “thisMonth”:“false” }, { “lunarDate”:“2020-12-14”, “solarDate”:“20210126”, “dayOfWeek”:3, “leapMonth”:“false”, “luckyDay”:“false”, “anniversaryList”:, “solarWeek”:“화”, “dayOff”:“false”, “hasSchedule”:“false”, “nationalDay”:“false”, “thisMonth”:“false” },…

넘어온 데이터를 JSON Serialize를 이용하여 원하는 필터하여 사용하면 찾고자하는 날짜에 대한 정보를 얻을 수 있습니다.
일요일, 대체휴일 및 국경일은 nationalDay 값과 dayOff 값이 true 이고 토요일은 dayOfWeek 값이 7입니다. 이외 음력, 윤달 등등의 정보가 들어 있습니다.

HttpRequest를 이용해 가져온 값은 아래의 코드를 이용하여 해당일자의 데이터만 Dictionary<string,object> 형식으로 가져 올수 있습니다.

[VB 코드]
Dim json = "{ ""openCalendar"":{ ""daysList"":[ { ""lunarDate"":""2020-12-13"", ""solarDate"":""20210125"", ""dayOfWeek"":2, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""월"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-14"", ""solarDate"":""20210126"", ""dayOfWeek"":3, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""화"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-15"", ""solarDate"":""20210127"", ""dayOfWeek"":4, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""수"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-16"", ""solarDate"":""20210128"", ""dayOfWeek"":5, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""목"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-17"", ""solarDate"":""20210129"", ""dayOfWeek"":6, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""금"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-18"", ""solarDate"":""20210130"", ""dayOfWeek"":7, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""토"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-19"", ""solarDate"":""20210131"", ""dayOfWeek"":1, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ ], ""solarWeek"":""일"", ""dayOff"":""true"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2020-12-20"", ""solarDate"":""20210201"", ""dayOfWeek"":2, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ ], ""solarWeek"":""월"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-21"", ""solarDate"":""20210202"", ""dayOfWeek"":3, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""화"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-22"", ""solarDate"":""20210203"", ""dayOfWeek"":4, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%9E%85%EC%B6%98&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""200"", ""nationalDay"":""false"", ""name"":""입춘"" } ], ""solarWeek"":""수"", ""dayOff"":""false"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-23"", ""solarDate"":""20210204"", ""dayOfWeek"":5, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""목"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-24"", ""solarDate"":""20210205"", ""dayOfWeek"":6, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""금"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-25"", ""solarDate"":""20210206"", ""dayOfWeek"":7, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""토"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-26"", ""solarDate"":""20210207"", ""dayOfWeek"":1, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""일"", ""dayOff"":""true"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-27"", ""solarDate"":""20210208"", ""dayOfWeek"":2, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""월"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-28"", ""solarDate"":""20210209"", ""dayOfWeek"":3, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""화"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-29"", ""solarDate"":""20210210"", ""dayOfWeek"":4, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ ], ""solarWeek"":""수"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2020-12-30"", ""solarDate"":""20210211"", ""dayOfWeek"":5, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%84%A4%EB%82%A0&sm=tab_etc&ie=utf8"", ""dayOff"":""true"", ""cid"":"""", ""nationalDay"":""true"", ""name"":""설날"" } ], ""solarWeek"":""목"", ""dayOff"":""true"", ""hasSchedule"":""false"", ""nationalDay"":""true"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-01"", ""solarDate"":""20210212"", ""dayOfWeek"":6, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%84%A4%EB%82%A0&sm=tab_etc&ie=utf8"", ""dayOff"":""true"", ""cid"":""100"", ""nationalDay"":""true"", ""name"":""설날"" } ], ""solarWeek"":""금"", ""dayOff"":""true"", ""hasSchedule"":""true"", ""nationalDay"":""true"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-02"", ""solarDate"":""20210213"", ""dayOfWeek"":7, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%84%A4%EB%82%A0&sm=tab_etc&ie=utf8"", ""dayOff"":""true"", ""cid"":"""", ""nationalDay"":""true"", ""name"":""설날"" } ], ""solarWeek"":""토"", ""dayOff"":""true"", ""hasSchedule"":""false"", ""nationalDay"":""true"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-03"", ""solarDate"":""20210214"", ""dayOfWeek"":1, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EB%B0%B8%EB%9F%B0%ED%83%80%EC%9D%B8%EB%8D%B0%EC%9D%B4&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""100"", ""nationalDay"":""false"", ""name"":""밸런타인데이"" } ], ""solarWeek"":""일"", ""dayOff"":""true"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-04"", ""solarDate"":""20210215"", ""dayOfWeek"":2, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""월"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-05"", ""solarDate"":""20210216"", ""dayOfWeek"":3, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""화"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-06"", ""solarDate"":""20210217"", ""dayOfWeek"":4, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""수"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-07"", ""solarDate"":""20210218"", ""dayOfWeek"":5, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%9A%B0%EC%88%98&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""200"", ""nationalDay"":""false"", ""name"":""우수"" } ], ""solarWeek"":""목"", ""dayOff"":""false"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-08"", ""solarDate"":""20210219"", ""dayOfWeek"":6, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""금"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-09"", ""solarDate"":""20210220"", ""dayOfWeek"":7, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ ], ""solarWeek"":""토"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-10"", ""solarDate"":""20210221"", ""dayOfWeek"":1, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ ], ""solarWeek"":""일"", ""dayOff"":""true"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-11"", ""solarDate"":""20210222"", ""dayOfWeek"":2, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""월"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-12"", ""solarDate"":""20210223"", ""dayOfWeek"":3, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""화"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-13"", ""solarDate"":""20210224"", ""dayOfWeek"":4, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""수"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-14"", ""solarDate"":""20210225"", ""dayOfWeek"":5, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""목"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-15"", ""solarDate"":""20210226"", ""dayOfWeek"":6, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%A0%95%EC%9B%94+%EB%8C%80%EB%B3%B4%EB%A6%84&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""100"", ""nationalDay"":""false"", ""name"":""정월 대보름"" } ], ""solarWeek"":""금"", ""dayOff"":""false"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-16"", ""solarDate"":""20210227"", ""dayOfWeek"":7, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""토"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-17"", ""solarDate"":""20210228"", ""dayOfWeek"":1, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=2.28+%EB%AF%BC%EC%A3%BC%EC%9A%B4%EB%8F%99&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""100"", ""nationalDay"":""false"", ""name"":""2.28 민주운동"" } ], ""solarWeek"":""일"", ""dayOff"":""true"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""true"" }, { ""lunarDate"":""2021-01-18"", ""solarDate"":""20210301"", ""dayOfWeek"":2, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EC%82%BC%EC%9D%BC%EC%A0%88&sm=tab_etc&ie=utf8"", ""dayOff"":""true"", ""cid"":""100"", ""nationalDay"":""true"", ""name"":""삼일절"" } ], ""solarWeek"":""월"", ""dayOff"":""true"", ""hasSchedule"":""true"", ""nationalDay"":""true"", ""thisMonth"":""false"" }, { ""lunarDate"":""2021-01-19"", ""solarDate"":""20210302"", ""dayOfWeek"":3, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ ], ""solarWeek"":""화"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2021-01-20"", ""solarDate"":""20210303"", ""dayOfWeek"":4, ""leapMonth"":""false"", ""luckyDay"":""true"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EA%B5%AD%EB%A6%BD%EA%B3%B5%EC%9B%90%EC%9D%98%EB%82%A0&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""100"", ""nationalDay"":""false"", ""name"":""국립공원의 날"" }, { ""linkUrl"":""?where=nexearch&query=%EB%82%A9%EC%84%B8%EC%9E%90%EC%9D%98+%EB%82%A0&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""100"", ""nationalDay"":""false"", ""name"":""납세자의 날"" } ], ""solarWeek"":""수"", ""dayOff"":""false"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2021-01-21"", ""solarDate"":""20210304"", ""dayOfWeek"":5, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""목"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2021-01-22"", ""solarDate"":""20210305"", ""dayOfWeek"":6, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ { ""linkUrl"":""?where=nexearch&query=%EA%B2%BD%EC%B9%A9&sm=tab_etc&ie=utf8"", ""dayOff"":""false"", ""cid"":""200"", ""nationalDay"":""false"", ""name"":""경칩"" } ], ""solarWeek"":""금"", ""dayOff"":""false"", ""hasSchedule"":""true"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2021-01-23"", ""solarDate"":""20210306"", ""dayOfWeek"":7, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""토"", ""dayOff"":""false"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" }, { ""lunarDate"":""2021-01-24"", ""solarDate"":""20210307"", ""dayOfWeek"":1, ""leapMonth"":""false"", ""luckyDay"":""false"", ""anniversaryList"":[ ], ""solarWeek"":""일"", ""dayOff"":""true"", ""hasSchedule"":""false"", ""nationalDay"":""false"", ""thisMonth"":""false"" } ] } }"
Dim dic = JsonSerializer.Deserialize(Of Dictionary(Of String,Dictionary(Of String,List(Of Dictionary(Of String,Object)))))(json)
Dim daysList = dic("openCalendar")("daysList")

Dim query = "20210201"
Dim selectedDay = daysList.Find(Function(d) d("solarDate").ToString() = query)
Console.WriteLine("date:{0},weeknum:{1},isOff:{2}",selectedDay("solarDate"),selectedDay("dayOfWeek"),selectedDay("dayOff"))
Console.WriteLine(JsonSerializer.Serialize (selectedDay))

[C# 코드]
string json = "{ \"openCalendar\":{ \"daysList\":[ { \"lunarDate\":\"2020-12-13\", \"solarDate\":\"20210125\", \"dayOfWeek\":2, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"월\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-14\", \"solarDate\":\"20210126\", \"dayOfWeek\":3, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"화\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-15\", \"solarDate\":\"20210127\", \"dayOfWeek\":4, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"수\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-16\", \"solarDate\":\"20210128\", \"dayOfWeek\":5, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"목\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-17\", \"solarDate\":\"20210129\", \"dayOfWeek\":6, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"금\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-18\", \"solarDate\":\"20210130\", \"dayOfWeek\":7, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"토\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-19\", \"solarDate\":\"20210131\", \"dayOfWeek\":1, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ ], \"solarWeek\":\"일\", \"dayOff\":\"true\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2020-12-20\", \"solarDate\":\"20210201\", \"dayOfWeek\":2, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ ], \"solarWeek\":\"월\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-21\", \"solarDate\":\"20210202\", \"dayOfWeek\":3, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"화\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-22\", \"solarDate\":\"20210203\", \"dayOfWeek\":4, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%9E%85%EC%B6%98&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"200\", \"nationalDay\":\"false\", \"name\":\"입춘\" } ], \"solarWeek\":\"수\", \"dayOff\":\"false\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-23\", \"solarDate\":\"20210204\", \"dayOfWeek\":5, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"목\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-24\", \"solarDate\":\"20210205\", \"dayOfWeek\":6, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"금\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-25\", \"solarDate\":\"20210206\", \"dayOfWeek\":7, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"토\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-26\", \"solarDate\":\"20210207\", \"dayOfWeek\":1, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"일\", \"dayOff\":\"true\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-27\", \"solarDate\":\"20210208\", \"dayOfWeek\":2, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"월\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-28\", \"solarDate\":\"20210209\", \"dayOfWeek\":3, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"화\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-29\", \"solarDate\":\"20210210\", \"dayOfWeek\":4, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ ], \"solarWeek\":\"수\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2020-12-30\", \"solarDate\":\"20210211\", \"dayOfWeek\":5, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%84%A4%EB%82%A0&sm=tab_etc&ie=utf8\", \"dayOff\":\"true\", \"cid\":\"\", \"nationalDay\":\"true\", \"name\":\"설날\" } ], \"solarWeek\":\"목\", \"dayOff\":\"true\", \"hasSchedule\":\"false\", \"nationalDay\":\"true\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-01\", \"solarDate\":\"20210212\", \"dayOfWeek\":6, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%84%A4%EB%82%A0&sm=tab_etc&ie=utf8\", \"dayOff\":\"true\", \"cid\":\"100\", \"nationalDay\":\"true\", \"name\":\"설날\" } ], \"solarWeek\":\"금\", \"dayOff\":\"true\", \"hasSchedule\":\"true\", \"nationalDay\":\"true\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-02\", \"solarDate\":\"20210213\", \"dayOfWeek\":7, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%84%A4%EB%82%A0&sm=tab_etc&ie=utf8\", \"dayOff\":\"true\", \"cid\":\"\", \"nationalDay\":\"true\", \"name\":\"설날\" } ], \"solarWeek\":\"토\", \"dayOff\":\"true\", \"hasSchedule\":\"false\", \"nationalDay\":\"true\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-03\", \"solarDate\":\"20210214\", \"dayOfWeek\":1, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EB%B0%B8%EB%9F%B0%ED%83%80%EC%9D%B8%EB%8D%B0%EC%9D%B4&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"100\", \"nationalDay\":\"false\", \"name\":\"밸런타인데이\" } ], \"solarWeek\":\"일\", \"dayOff\":\"true\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-04\", \"solarDate\":\"20210215\", \"dayOfWeek\":2, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"월\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-05\", \"solarDate\":\"20210216\", \"dayOfWeek\":3, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"화\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-06\", \"solarDate\":\"20210217\", \"dayOfWeek\":4, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"수\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-07\", \"solarDate\":\"20210218\", \"dayOfWeek\":5, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%9A%B0%EC%88%98&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"200\", \"nationalDay\":\"false\", \"name\":\"우수\" } ], \"solarWeek\":\"목\", \"dayOff\":\"false\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-08\", \"solarDate\":\"20210219\", \"dayOfWeek\":6, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"금\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-09\", \"solarDate\":\"20210220\", \"dayOfWeek\":7, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ ], \"solarWeek\":\"토\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-10\", \"solarDate\":\"20210221\", \"dayOfWeek\":1, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ ], \"solarWeek\":\"일\", \"dayOff\":\"true\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-11\", \"solarDate\":\"20210222\", \"dayOfWeek\":2, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"월\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-12\", \"solarDate\":\"20210223\", \"dayOfWeek\":3, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"화\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-13\", \"solarDate\":\"20210224\", \"dayOfWeek\":4, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"수\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-14\", \"solarDate\":\"20210225\", \"dayOfWeek\":5, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"목\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-15\", \"solarDate\":\"20210226\", \"dayOfWeek\":6, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%A0%95%EC%9B%94+%EB%8C%80%EB%B3%B4%EB%A6%84&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"100\", \"nationalDay\":\"false\", \"name\":\"정월 대보름\" } ], \"solarWeek\":\"금\", \"dayOff\":\"false\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-16\", \"solarDate\":\"20210227\", \"dayOfWeek\":7, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"토\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-17\", \"solarDate\":\"20210228\", \"dayOfWeek\":1, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=2.28+%EB%AF%BC%EC%A3%BC%EC%9A%B4%EB%8F%99&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"100\", \"nationalDay\":\"false\", \"name\":\"2.28 민주운동\" } ], \"solarWeek\":\"일\", \"dayOff\":\"true\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"true\" }, { \"lunarDate\":\"2021-01-18\", \"solarDate\":\"20210301\", \"dayOfWeek\":2, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EC%82%BC%EC%9D%BC%EC%A0%88&sm=tab_etc&ie=utf8\", \"dayOff\":\"true\", \"cid\":\"100\", \"nationalDay\":\"true\", \"name\":\"삼일절\" } ], \"solarWeek\":\"월\", \"dayOff\":\"true\", \"hasSchedule\":\"true\", \"nationalDay\":\"true\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2021-01-19\", \"solarDate\":\"20210302\", \"dayOfWeek\":3, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ ], \"solarWeek\":\"화\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2021-01-20\", \"solarDate\":\"20210303\", \"dayOfWeek\":4, \"leapMonth\":\"false\", \"luckyDay\":\"true\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EA%B5%AD%EB%A6%BD%EA%B3%B5%EC%9B%90%EC%9D%98%EB%82%A0&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"100\", \"nationalDay\":\"false\", \"name\":\"국립공원의 날\" }, { \"linkUrl\":\"?where=nexearch&query=%EB%82%A9%EC%84%B8%EC%9E%90%EC%9D%98+%EB%82%A0&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"100\", \"nationalDay\":\"false\", \"name\":\"납세자의 날\" } ], \"solarWeek\":\"수\", \"dayOff\":\"false\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2021-01-21\", \"solarDate\":\"20210304\", \"dayOfWeek\":5, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"목\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2021-01-22\", \"solarDate\":\"20210305\", \"dayOfWeek\":6, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ { \"linkUrl\":\"?where=nexearch&query=%EA%B2%BD%EC%B9%A9&sm=tab_etc&ie=utf8\", \"dayOff\":\"false\", \"cid\":\"200\", \"nationalDay\":\"false\", \"name\":\"경칩\" } ], \"solarWeek\":\"금\", \"dayOff\":\"false\", \"hasSchedule\":\"true\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2021-01-23\", \"solarDate\":\"20210306\", \"dayOfWeek\":7, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"토\", \"dayOff\":\"false\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" }, { \"lunarDate\":\"2021-01-24\", \"solarDate\":\"20210307\", \"dayOfWeek\":1, \"leapMonth\":\"false\", \"luckyDay\":\"false\", \"anniversaryList\":[ ], \"solarWeek\":\"일\", \"dayOff\":\"true\", \"hasSchedule\":\"false\", \"nationalDay\":\"false\", \"thisMonth\":\"false\" } ] } }";
var dic = JsonSerializer.Deserialize<Dictionary<string,Dictionary<string,List<Dictionary>>>>(json);
var daysList = dic["openCalendar"]["daysList"];

string query = "20210201";
var selectedDay = daysList.Find(d => d["solarDate"].ToString() == query);
Console.WriteLine("date:{0},weeknum:{1},isOff:{2}",selectedDay["solarDate"],selectedDay["dayOfWeek"],selectedDay["dayOff"]);
Console.WriteLine(JsonSerializer.Serialize (selectedDay, new JsonSerializerOptions{ WriteIndented = true }));
1 Like