Nov 5, 2015 GitHubのEvents APIでは、イベントの種類に応じて一部のJSONの構造が変わります。構造が可変となっているのはpayloadと呼ばれる箇所で、種類に固有の情報はpayload以下に格納されます。例えば、CommitCommentEventのpayloadはcomment, senderといった情報を持ち、CreateEventやDeleteEventはref, ref_typeといった情報を持ちます。 https://developer.github.com/v3/activity/events/types/ SwiftでEvents APIのレスポンスを表そうと考えた場合、以下の2つが思い浮びました。 Eventという1つの型を定義してpayloadは[String: AnyObject]にする。 EventTypeというプロトコルを定義して種類ごとに