[ASP.NET] 如何使用「開放資料( Open Data ) 」? + (預備篇

文章推薦指數: 80 %
投票人數:10人

「資料開放(Open Data)」是指任何人都可以自由使用、修改、分享的資料,而「政府資料開放(Open Government Data)」,則是將政府機關因業務需求所蒐集、保有、管理的資料, ... 第11屆iThome鐵人賽 DAY 3 1 ModernWeb ASP.NETWebForm入門30天系列第 3篇 [ASP.NET]如何使用「開放資料(OpenData)」?+(預備篇:介接前,應該準備好的三件事情)+如何簡單解釋API? 11th鐵人賽 碼屋(MARKWU) 團隊火箭隊 2019-09-0409:28:3712677瀏覽 本篇擷取重點: 什麼是開放資料(OpenData)? 介接前,應準備好的三件事情 一.何謂開放資料(OpenData) 「資料開放(OpenData)」是指任何人都可以自由使用、修改、分享的資料,而「政府資料開放(OpenGovernmentData)」,則是將政府機關因業務需求所蒐集、保有、管理的資料,在不涉及個人隱私及不違背法律限制下,提供給大家自由使用、修改與分享。

常用的「資料開放(OpenData)」平台,如下: 政府資料開放平台:https://data.gov.tw/ 高雄市政府資料開放平台:https://data.kcg.gov.tw/ 二.介接前,應準備好的三件事情 找到OpenData的API,了解API之特質 下載CHROME擴充外掛,了解資料架構及型態 於專案中下載NUGET套件-Newtonsoft.Json套件 1.找到OpenData的API,API之特質 本篇使用的OpenData範例為「高雄市政府資料開放平台」-「高雄市政府相關求才、求職、職業訓練資訊及最新資訊發佈(Json)」 step1.進入高雄市政府資料開放平台並點選上方的「資料集」 step2.左側點選您所要選擇的格式「JSON」並點選您所要選擇的主題 (高雄市政府相關求才、求職、職業訓練資訊及最新資訊發佈) step3.點選您所要選擇的資料格式 (訓練就業中心最新資訊公告JSON格式) step4.點選右上方綠色方塊-「前往存取資源」 step4.點選後,網站頁面將連線至「該資料開放(OpenData)」所存放伺服器之API 這是未經整理的Json格式字串,可藉由CHROME的擴充功能外掛來整理,詳細內容將於下段解釋。

================================================================== 貼心小補充: API(ApplicationProgrammingInterface應用程式界面): 這不好解釋,但下方參考資料連結中有一個很棒的解釋,可以幫助大家理解。

EX:我們今天想要到自動販賣機買瓶可樂,可以分解成下方幾個動作: a.今天你想取得一瓶原味可樂 b.只要單純的按下面版上原味可樂的按鈕 c.接著你就可以在取物口拿到一瓶可樂 上面第二個動作中的面版/按鈕,就是所謂的API了。

透過這個面版,你可以拿到可樂的過程大概就是: 想要一瓶可樂(想要的資料)->按下按鈕(送出資料需求)->拿到飲料(取得資料) 參考資料: https://cola.workxplay.net/what-is-an-api/(大推薦) 不過也因為我們在API介接的Opendata,是存放在對方伺服器,而我們每次介接都是重新的向對方伺服器要資料,故有以下特性:我們的網頁內容會隨著對方伺服器的資料是同步的。

意即更新一起更新、檔案毀損一起毀損。

================================================================== 2.下載CHROME擴充外掛,了解資料架構及型態 瀏覽器右上方的「...」-「更多工具」-「擴充功能」 左上方的「擴充功能」-下方的「開啟CHROME線上應用程式商店」 搜尋擴充功能輸入「JSONView」-「加到CHROME」 回到剛才混亂的JSON頁面,按「F5」重新整理,應該就會出現排列好的Json格式, 並可使用右上方按鈕進行開關及設定。

================================================================== 貼心小補充: 需要先瞭解資料的「架構」及「型態」,在設立介接類別時才能事半功倍,甚至挖掘出資料「特性」,在往後要使用資料做出輸出時,都將會有莫大的影響。

================================================================== 3.於專案中下載NUGET套件-Newtonsoft.Json套件 專案(test123)-右鍵-管理NuGet套件 上方「瀏覽」-搜尋「Newtonsoft.Json」-「安裝」 安裝成功後,即可將Newtonsoft.Json.dll加入專案底下的參考之中, 並可於.aspx.cs檔案上方加入usingNewtonsoft.Json;來引用,便可使用JSON.NET ================================================================== 貼心小補充: 套件是安裝在專案底下,故若新建了一個新專案會需要再次下載。

Newtonsoft.Json,是處理Json格式的類別庫,包含最常使用的序列化和反序列化工具 什麼是反序列化?將JSON字串反序列化成物件 JsonConvert.DeserializeObject("字串"),<>中定義類別 什麼是序列化?將物件序列化成JSON字串 JsonConvert.SerializeObject(物件) 參考資料: https://dotblogs.com.tw/berrynote/2016/08/18/200338 ================================================================== 介接前應準備好的三件事情,你都準備好了嗎? 我們將於接下來幾天以實際例子幫助大家走過一遭 留言 追蹤 檢舉 上一篇 [ASP.NET]新增Web表單(網頁)實例+網頁畫面如何產生?(在伺服器中的處理流程)+工程師必須養成的良好命名習慣 下一篇 [ASP.NET]如何使用「開放資料(OpenData)」?+(第一篇,建立介接新類別的三種方法+了解JSON格式) 系列文 ASP.NETWebForm入門30天 共30篇 目錄 RSS系列文 訂閱系列文 69人訂閱 26 [ASP.NET]工具箱常用的伺服器控制項-Textbox(補充HTML5密碼驗證) 27 [ASP.NET]工具箱常用的伺服器控制項-CheckBox(全選的JS?) 28 [ASP.NET]新增泛型處理常式(.ashx)及瀏覽上傳圖片的範例 29 [ASP.NET]MasterPages主版頁面(上) 30 [ASP.NET]MasterPages主版頁面(下)+範例 完整目錄 尚未有邦友留言 立即登入留言 iT邦幫忙鐵人賽 參賽組數 1087組 團體組數 52組 累計文章數 20470篇 完賽人數 572人 鐵人賽最新文章 2021/12/12更新 予焦啦!一夢終須醒...... 盤點清查與檢測掃描-資通安全健診 [13th][Day23]httpresponseheader(下) [13th][Day22]httpresponseheader(上) [13th][Day21]golangcontext 股票怎麼選?掌握這原則,你也能找到強勢股 Gitpush 盤點清查與檢測掃描-安全性檢測 完賽心得 前往鐵人賽 技術推廣專區 [Day2]抓取每日收盤價 [Day1]基本工具安裝 利用python取得永豐銀行API的Nonce [Day03]tinyML開發板介紹 永豐金融API測試員 [Day01]在享受tinyML這道美食之前 [Day3]使用ta-lib製作指標 [Day4]函數打包與買進持有報酬率試算 計算API所需要的參數:HashID 計算API所需要的參數:IV 前往鐵人賽 熱門問題 公司想要客製化一套ERP系統該選擇軟體開發?套裝系統?還是自行設立部門? PoE交換機可以直接相連嗎? 禁止員工連線使用Gmail與封鎖USBport的解法 遠端重開當機電腦的方法 軟體工程師會被監控嗎 訂房網站DB架構 SQL找出超過六個月的資料 請問前端Vue+後端Java,要用那個開發工具呢?另外測試及部署的步驟是那些呢(之前是用JQuery+Java,使用Eclipse開發) 想找PDF編輯工具,Adobe太貴了,請問還有其他推薦的替代方案嗎? 關於防火牆FortGate60C連外網速度無法到300M的問題 IT邦幫忙 站方公告 【2021iThome鐵人賽】登登登!究竟獎落誰家,2021iThome鐵人賽得獎名單正式揭曉 熱門tag 看更多 13th鐵人賽 12th鐵人賽 11th鐵人賽 鐵人賽 2019鐵人賽 2018鐵人賽 javascript 2017鐵人賽 windows php python windowsserver linux c# 程式設計 資訊安全 css vue.js sql 分享 熱門回答 公司想要客製化一套ERP系統該選擇軟體開發?套裝系統?還是自行設立部門? 想找PDF編輯工具,Adobe太貴了,請問還有其他推薦的替代方案嗎? SQL語法兩張表關聯其中一張表多筆重複資料取日期最大不用Groupby的方法 禁止員工連線使用Gmail與封鎖USBport的解法 軟體工程師會被監控嗎 請問前端Vue+後端Java,要用那個開發工具呢?另外測試及部署的步驟是那些呢(之前是用JQuery+Java,使用Eclipse開發) 遠端重開當機電腦的方法 PoE交換機可以直接相連嗎? 請問EXCEL如何在抓取網頁外部資料後並設定好自動更新,寫的程式可以在資料更新時自己動作? (以解決)請問GMAIL群組.假如公司之前有業務群[email protected].有新職員收不到這個.如何把新業務加入 熱門文章 [13th][Day23]httpresponseheader(下) 強制存取控制環境中強制執行完整性 [13th][Day22]httpresponseheader(上) 第三隻狗勾 第四隻狗勾 [13th][Day21]golangcontext 自己在家接收來自飛機的ADS-B訊號! 使用UbuntuServer與Docker建立Gitea程式儲存庫 盤點清查與檢測掃描-資通安全健診 再增加五隻狗勾 一週點數排行 更多點數排行 海綿寶寶(antijava) ㊣浩瀚星空㊣(yoching) 居然解出來了(partyyaya) japhenchen(japhenchen) fillano(fillano) raytracy(raytracy) ccenjor(ccenjor) 小山丘(a243318490) 純真的人(jer5173) rogeryao(rogeryao) × At 輸入對方的帳號或暱稱 Loading 找不到結果。

標記 {{result.label}} {{result.account}} 關閉



請為這篇文章評分?