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);
}