Newtonsoft.Json 使います。
public static HashSet<DateTime> GetHolidays(int year) { var key = "あなたのAPIキー"; var holidaysId = "japanese__ja@holiday.calendar.google.com"; var startDate = new DateTime(year, 1, 1).ToString("yyyy-MM-dd") + "T00%3A00%3A00.000Z"; var endDate = new DateTime(year, 12, 31).ToString("yyyy-MM-dd") + "T00%3A00%3A00.000Z"; var maxCount = 30; var url = $"https://www.googleapis.com/calendar/v3/calendars/{holidaysId}/events?key={key}&timeMin={startDate}&timeMax={endDate}&maxResults={maxCount}&orderBy=startTime&singleEvents=true"; var client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }; var json = client.DownloadString(url); client.Dispose(); var o = Newtonsoft.Json.Linq.JObject.Parse(json); var days = o["items"].Select(i => DateTime.Parse(i["start"]["date"].ToString())); return new HashSet<DateTime>(days); }