C #을 휴일을 얻기 위해 바이 API 인터페이스를 호출

바이두 인터페이스 API : https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={date}&resource_id=6018    --date 쿼리에 대한 날짜 (예 : 2019-9)

일부 매개 변수는 인터페이스 클래스를 반환

공개  수업 일정 
    { 
        공공  INT의 상태는 { 얻을 ; 설정 ; }
         공공 목록 <의 CalendarData> 데이터 { 얻을 ; 설정 ; } 
    } 
    공용  클래스 의 CalendarData 
    { 
        // 공휴일 휴일 {얻을; 세트; } 
        공공 목록 <홀리데이> 휴일 { 얻을 ; 설정 ; } 
    } 
    공용  클래스 휴일 
    { 
        공공  문자열 내림차순 { 얻을 ; 설정 ; }
        공공  문자열 축제 { 얻을 ; 설정 ; }
         공공 목록 <HolidayList> 목록을 { 얻을 ; 설정 ; }
         공공  문자열 이름 { 얻을 ; 설정 ; }
         공공  문자열 나머지 { 얻을 ; 설정 ; } 
    } 
    공용  클래스 HolidayList 
    { 
        공공  문자열 날짜 { 얻을 ; 설정 ; }
         ///  <요약> 
        /// 1休息2上班
         /// </ 요약> 
        공공의  INT의 상태 { 얻을 ; 설정 ; }
         공공  문자열 발언 
        { 
            얻을 
            { 
                반환 상태 == 1 ? " 休假" : " 上班" ; 
            } 
        } 
    } 
    공용  클래스 CALENDAR2 
    { 
        공공  INT의 상태 { 얻을 ; 설정 ; }
         공공 목록 <CalendarData2> 데이터 { 얻을 ; 세트; } 
    } 
    공용  클래스 CalendarData2 
    { 
        공공 휴일 휴가 { 얻을 ; 설정 ; } 
    }
코드보기

휴일을 가져옵니다

개인  정적  무효 GetHoliday ( 문자열 날짜) 
        { 
            웹 클라이언트 클라이언트 = 새로운 웹 클라이언트 (); 
            client.Encoding = Encoding.UTF8;
            var에 URL = $ " https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={date}&resource_id=6018 " ;
            var에 jsondata = client.DownloadString (URL);
            시도 
            { 
                var에 모델 = JsonConvert.DeserializeObject <캘린더> (jsondata);
                foreach는 ( var에 항목에서 ) model.data 
                { 
                    foreach는 ( var에 휴가 item.holiday) 
                    { 
                        foreach는 ( var에 하루 holiday.list) 
                        { 
                            Console.WriteLine ($ " 日期: {day.date}, {day.remark} " ); 
                        } 
                    } 
                } 
            } 
            캐치 (예외) 
            { 
                VAR의 모델 = JsonConvert.DeserializeObject <CALENDAR2> (jsondata);
                각각( VAR의 항목 에서 model.data) 
                { 
                    경우 (item.holiday =! 널 (null) && item.holiday.list! = null이 ) 
                    { 
                        foreach는 ( var에 하루 item.holiday.list) 
                        { 
                            Console.WriteLine ($ " 日期: {일 .date}, {day.remark} " ); 
                        } 
                    } 
                } 
            } 
            // 하는 jobject하는 jobject = JObject.Parse JSON ();
            //VAR 휴일하는 jobject = [ "데이터"] [0] [ "휴가"];
            // 경우 (휴가! = NULL && holiday.Children (). 카운트 ()> 0)
             // {
             //     foreach는 (holiday.Children ()에서 동적 항목을 선택합니다. ToList ())
             //     {
             //         foreach는 (동적 일 item.list에서)
             //         {
             //             문자열 발언 = day.status == 1? "休假": "上班";
            //             Console.WriteLine ($ "日期: {day.date}, {말}");
            //         }
             //     }
             // } 
        }
코드보기

참고 : 인터페이스에 의해 반환 된 매개 변수 중 일부는 반드시 모든 휴가를 수집하지 않습니다

데모 코드를 다운로드 : 데모

추천

출처www.cnblogs.com/mybk/p/11200204.html