2020年8月26日 星期三

.Net WebForm界接Json資料-4

 這一篇文章世介接Json主要程式碼,也是把程式撰寫置index.aspx.cs裏  程式碼如下


在.cs可看到有主程式Page_Load,因為我們是寫介接程式,所以當該程式已啟動就會自動到

公開資料平台撈取資料;第二個為函式GetJsonContent,主要功能處理到資料平台網址包含request及respone的動作。

首先可看Page_Load的程式碼如下

1.string content = GetJsonContent("https://www.ktec.gov.tw/ktec_api.php?type=json");

將介接Json的網址存入變數content,並設定進入函式GetJsonContent,將目標網址字串

拋入函式GetJsonContent處理,在函式程式中會說明處理動作。

2. Data data = JsonConvert.DeserializeObject<Data>(content);

在前面文章有提到反序列化,也就是Json進入.Net中,所以程式碼解釋如下

content為目標網址的Json資料對應到Data類別的定義,並使用JsonConvert類別的方法為

DeserializeObjec(反序列進入.NET中),最後存放置data變數中。

3.message.InnerHtml += "<CAPTION><h1>高雄市政府相關求才資訊發佈</h1></CAPTION>  ";

在這具語法中有看到message為前端span的Id也就是接回來的資料要放在span區塊中。

InnerHtml意思為傳輸的字元中若包含HTML語法,(.aspx)將會對該HTML語法產生作用。

+=  在程式中為簡寫語法  例如 a+=1 意思為 a=a+1,在示範看起來很簡單需要簡寫嗎?而對應本範例將變數名稱考慮進去就會方便很多。

接下來都是使用html語法,進行串接並不難理解,只是花點心思,語法解釋如下

< caption >< /caption >為表格外的上方標題
< table >< /table >包住所有的表格元素,如< tr >< th >< td >
< tr >< /tr >代表表格的一橫列,包住< th >或< td >
< th >< /th >代表表格內的上方欄位
< td >< /td >代表表格內的一格

4.接下來使用foreach將資料一行一行讀進來,宣告一個變數item作為計數使用,

而data.entries為之前定義對應Json的類別,item計數不超過json資料標題數量,

下面有一段判斷式為標題字元大於35時出現詳情,否則標題字元完整呈現,

為什麼要做此處理,因為標題的長度不 一若沒有做此判斷,整張表格會呈現很亂

這篇文章先講到Page_Load的說明,下一章講解函式GetJsonContent的程式作用


沒有留言:

張貼留言

無現金支付的反思!

  **購物經歷** - 作者花費大量時間尋找立燈,最終在IKEA購買了一個649元的立燈 - 在IKEA附近停車場遇到只接受無現金支付的情況,被迫註冊並使用Line Pay **無現金支付的觀察** - 作者認為Line Pay作為前端介面,有助於提高停車場付費效率 - 作者預...