Swift Practice # 89 中央氣象局JSON解析 衛星雲圖與雷達回波

上一篇完成了能夠分類儲存金額的記帳程式,雖然問題還有很多等待解決,但大致想要出現的狀態有出現了。

這一篇則要透過嘗試解析JSON,而對象是一般大眾都很常使用到的中央氣象局資訊,生活日常穿衣出遊生活作息基本上都跟氣象脫離不了關係。這次要來嘗試解析自己拍照很常使用的衛星雲圖與雷達回波,這兩個算是在查看拍照出景機率的一個很常使用的功能。

畫面佈局:

從上面的圖片可以看到需要的元件總共為

UIImageView * 1

UISegmentController * 1

而這個紅色的兩個UISegmentController將會放到橙色一樣的地方,透過程式碼來決定顯示與否。

程式碼:

自定義Struct對應中央氣象局JSON:

在建立自定義程式碼來對應JSON前,首先要先理解JSON的狀態。

https://opendata.cwb.gov.tw/index

從上面的中央氣象局opendata來取得資料格式,可以順便註冊帳號。

從上面的JSON格式解析發現我們需要的照片URL在整個JSON第四層,所以自定義格式將遵照這樣來定義。

ViewController程式碼:

在輸入程式前先理解JSON網址的定義規則

IBOutlet與自定義字典資料對應氣象局opendata資料JSON名稱

自定義Function抓取中央氣象局圖像(API KEY已隱藏請自行申請)

其餘自定義Funtion判斷segment值決定呼叫JSON網址與Segment是否顯示

Segment IBAction-1

Segment IBAction-2

執行結果:

心得與發現:

不知道為什麼下午與氣象局對將的時候基本上圖像是segment隨改隨換,晚上就有點慢,跟上次NASA有點像,不過至少透過解析氣象局JSON資料來完成衛星雲圖與雷達回波的觀看,JSON越玩越有趣。持續加油!!!

程式碼與Github:

自定義JSON解析格式

ViewController

--

--