Swift AlamofireでJSON取得

SwiftでHTTP通信

iOSではATS(App Transport Security)でhttp通信を許可していません。
もしhttp通信でJSON取得するのであれば、以下の設定が必要ですがこちらもAppleは制限するというアナウンスをしているので、いつかは使えなくなるでしょう。解決策はサーバをhttps通信にすることです。

Infoタグの「Custom iOS Target Properties」で
App Transport Security Settings
を追加して、配下のディレクトリ(?)を追加して
Allow Arbitrary Loads
を追加。Valueを「YES」にします。

これでhttp通信ができるようになります。

ライブラリの追加

Alamofire
SwiftyJSON
のライブラリを追加します。
追加方法はhttp://sugita.hateblo.jp/entry/2017/12/09/225950:ここここに記載しています。

swiftコードにてJSON取得

起動時にjsonを取得してコンソールに出力するようにしました。

    override func viewDidLoad() {
        super.viewDidLoad()

        // JSONの取得先URLを設定する。
        let urlString: String = "http://test.com/test.json”
        //alamofireのリクエスト。
        Alamofire.request(urlString, method: .get).responseJSON{(response) in
            //ただしこちらはresponseの中のresultのvalueの中に必要な情報が入ってくる
            // guard はスコープ外でもobjectが使えるようになります
            guard let object = response.result.value else {return}
            //dataを扱いやすいようにJSON化します
            let json = JSON(object)
            //コンソールに出力
            print(json)
        }
    }