目的:使用Alamofire從網絡請求json數據。用swiftyJson解析json數據,最後將須要的數據賦值給一個NSArray的數組。ios
1.下載swiftyJson 和 Alamofire(pods方式下載)git
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' use_frameworks! target 'issac-note' do #Networking pod "Alamofire" #pod "AlamofireObjectMapper" pod "SwiftyJSON" end
2.在文件中引入:github
import UIKit import Alamofire import SwiftyJSON
3.網絡請求,解析json,賦值NSArray:web
//初始化 var noteList: NSArray = [] //MARK: - getDataFormServer func getListDataFormServer() { let url = "http://issac.website/issac-noteBackstage/Admin/Index/getNotesByUid?uid=1" let parameters = ["uid":1] Alamofire.request(.POST, url, parameters: parameters).responseJSON { (response) in switch response.result { case .Success: //解析json數據 let json = JSON(response.result.value!) //直接使用腳標的方式取出數組,先轉化爲arrayObject是重點,不轉化是不能as 轉化成?NSArray類型的 self.noteList = json["data"].arrayObject! as NSArray //如果要賦值給一個NSDictionary,那就要先將轉化成dictionaryObject //應爲alamofire是異步請求,請求完成要刷新一下tableView才能纔看數據 self.tableView.reloadData() case .Failure: print("failure") } } }
請求回來的json數據:
json
{ "data" : [ { "update_time" : "", "uid" : "1", "content" : "天天好一點,樂觀一點,痛苦便沒有那麼清晰", "id" : "1", "status" : "1", "title" : "明日好起來", "create_time" : "1471941272" } ], "status" : 0, "msg" : "success" }