使用swiftyJson和Alamofire作網絡請求,以及json數據的解析

目的:使用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"
}
相關文章
相關標籤/搜索