休日を取得するためにC#コールBaiduのAPIインタフェース

BaiduのインタフェースAPIhttps://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={date}&resource_id=6018    --dateクエリの日付(例:2019から9)

いくつかのパラメータは、インタフェースクラスが返されました:

パブリック クラスカレンダー
    { 
        公共の int型のステータスは{ 取得しますセット; }
         パブリックリスト<CalendarData>データ{ 得ますセット; } 
    } 
    パブリック クラスCalendarData 
    { 
        // 祝日休日{取得します。セット; } 
        公共の一覧<ホリデー>休日{ 取得しますセット; } 
    } 
    パブリック クラスホリデー
    { 
        公共の 文字列 DESC { 取得しますセット; }
        公共の 文字列祭り{ 取得しますセット; }
         公共の一覧<HolidayList>リスト{ 取得しますセット; }
         パブリック 文字列名前{ 取得しますセット; }
         パブリック 文字列の残り{ 取得しますセット; } 
    } 
    パブリック クラスHolidayList 
    { 
        公共の 文字列の日付{ 取得しますセット; }
         ///  <要約> 
        /// 1休息2上班
         /// </要約> 
        公共の int型の状態{ 取得しますセット; }
         パブリック 文字列の発言
        { 
            取得
            { 
                戻りステータス== 1" 休假"" 上班" 
            } 
        } 
    } 
    パブリック クラスCalendar2 
    { 
        公共の int型の状態{ 取得しますセット; }
         パブリックリスト<CalendarData2>データ{ 得ますセット; } 
    } 
    パブリック クラスCalendarData2 
    { 
        公共の休日の休日{ 取得しますセット; } 
    }
コードの表示

休日を取得します。

プライベート 静的 無効 GetHoliday(文字列日付)
        { 
            Webクライアントクライアント = 新しいWebクライアント(); 
            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)。
                foreachのVAR項目model.data)
                { 
                    場合(!item.holiday = nullを!&& item.holiday.list = ヌル
                    { 
                        foreachのVARのitem.holiday.list)
                        { 
                            Console.WriteLineを($ " 日期:{日.date}、{day.remark} " )。
                        } 
                    } 
                } 
            } 
            // jオブジェクトjオブジェクト= JObject.Parse(JSON)。
            //VARの休日= jオブジェクト[ "データ"] [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