Swift 4 JSON

在 Swift 之中,JSON (JavaScript Object Notation) 的型別為 [String: Any]
也就是一個 Dictionary 的概念,以一組 Key 對應一組 Value。
大多數會碰到 JSON 格式是在做網路溝通時,
使用 JSON 格式並 encode 成 Data 的型態在傳輸資料。

Swift 3 以前

我們從 URLSession.shared.dataTask 的 handler 之中,
會得到 data、response error,其中的 data 會使用下面的方式才轉換成 JSON:
https://gist.github.com/ArchieR7/4c0bd048a15884a4e6bf26c440622100
接著我們再來對 JSON 的 Key 和 Value 來進行拆解:
https://gist.github.com/ArchieR7/fd3552e7a86153a5d5a20e41b2d36fd6
而巢狀式的 JSON 格式,寫起來的 code 就會越長,進而衍生出 SwiftyJSON,有興趣的可以自行看一下。

Swift 4

那 Swift 4 做了哪種改變呢?
在 Foundation 裡頭,增加了 Encoder/Decoder 相關的內容,
而這邊先以 JSON 作為主要的內容。
以 User 作為例子:
https://gist.github.com/ArchieR7/bee33f4a7820c05012c01047d0723701
其中,Codable 是指 EncodableDecodable
若你只需要做 data parse 的話,也可以僅宣告 Decodable。

發表迴響

%d 位部落客按了讚:
Bitnami