Eyes, JAPAN Blog > swift4.0で追加されるCodableが嬉しい

swift4.0で追加されるCodableが嬉しい

Shoma Saito

この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。

Eyes, JAPANでは試験的にServer Side Swiftを使い、JIRAというサービスの可視化をしています。

そこでAPI叩いて整形し出力するのですが、SwiftでのJSONのコンバートは結構面倒くさかったんですよね

今まで

どんな感じで書いていたかというと、


let str = UTF8Encoding.encode(bytes: body)
if let decoded = try str.jsonDecode() as? [String: Any] { ... }

こんな感じで書いてました(HTTP GETしてきてbodyをjsonDecodeしてるだけ)

これから


struct JIRAIssue: Codable { ... }

こんな感じで構造体を用意して、


let jsonDecoder = JSONDecoder()
let jiraIssue = try jsonDecoder.decode(JIRAIssue.self, from: body)

こんな感じになる

WWDC2017で

このCodableとかXcode9とか色々発表されたので今自分のメインのマシンにbeta版を入れているので使ってみたけど、CodableはピュアなServer Side Swiftとめちゃくちゃ相性が良いと思う。

Realm MeetupとかWWDC恵比寿とかでもCodableの話出てきてるので、みなさんも調べてみてはいかがでしょう?

Comments are closed.