[iOS study] 練習在 Playground 用 JSONDecoder 將 JSON 轉換成自訂型別,至少練習三種 JSON API

1 利用 RSS Generator 產生 API 抓取 JSON 資料

https://rss.itunes.apple.com/api/v1/tw/movies/top-movies/all/25/explicit.json

一開始的程式碼跑出來一直不成功,後來運用do catch去找到底錯在哪裡

最後一句顯示:期望解碼Double但是找到string,不過我設定的並沒有Double,後來試試把比較特別的Date先取消

這樣就成功了!!

2 GitHub user API

比方 https://api.github.com/users/caspyin

這次的資料裡也有時間,發現需要多加一條

decoder.dateDecodingStrategy = .iso8601

這樣就可以成功轉換

3 foursquare API

研究 https://developer.foursquare.com/docs/api/venues/search

首先要註冊foursquare帳號,可以用facebook帳號快速授權註冊

其次需要新建app資料(我連結是輸入medium的也可以通過,所以新建的資料目的是練習測試,可以先不用擔心資料的認真程度,到信用卡頁面只要返回就好)

新建一個app資料後就可以得到自己的Client ID以及Client Secret,樣子如下圖

圖片來源:chiaroluna

接下來可以設定取得API的url

https://api.foursquare.com/v2/venues/search   
?ll=40.7,-74
&client_id=CLIENT_ID
&client_secret=CLIENT_SECRET
&v=YYYYMMDD

ll= 後面的數字是經緯度,foursquare我還是不熟悉用,改用googleMapt查經緯度,我查了上課地點附近的松江南京捷運站

  1. 在地圖上的所需地點或區域按一下滑鼠右鍵。
  2. 選取 [這是哪裡?]。
  3. 底部會顯示一張包含座標的資訊卡。

string要留意不要有空格,不然string生成看起來正常,但是url會變成nil

把問題都排除後就可以成功抓取資料囉!

--

--

Yolanda H.
彼得潘的 Swift iOS / Flutter App 開發教室

悠琅妲之愛梯熙緹推敲推敲潑墨坊 { iOS App | website SEO | Python | Aroma | Zumba | Chinese Poems | Tabletop game }