2017-04-06 237 views
-2

我是新來的swift。我試圖解析從迅速3. URL我使用此代碼試圖數據:alamofire json解析swift 3

Alamofire.request("https://jsonplaceholder.typicode.com/todos").responseJSON { response in 

     if let JSON = response.result.value { 
      print("JSON: \(JSON)") 
     } 
    } 

而且我得到了JSON如下:

JSON: (
    { 
    completed = 0; 
    id = 1; 
    title = "delectus aut autem"; 
    userId = 1; 
}, 
    { 
    completed = 0; 
    id = 2; 
    title = "quis ut nam facilis et officia qui"; 
    userId = 1; 
}) 

任何人都可以幫助我如何解析所有該值的字典或數組,並呈現在swift 3的表格視圖?

這裏是實現我的tableview

override func numberOfSections(in tableView: UITableView) -> Int { 
    // #warning Incomplete implementation, return the number of sections 
    return object.count 
} 
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of rows 
    return object.property.count 
} 
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath) 

    cell.textLabel?.text = property.[indexPath] 

    return cell 
} 
+0

使用arrayData顯示你'tableView' –

+0

只是一個簡單的表格視圖的代碼。在1節中有4排顯示價值。謝謝你幫我。 –

+0

然後在您的問題中添加該代碼以及您希望使用TableCell顯示哪些信息? –

回答

0

像這樣

class YourData: NSObject { 

    var completed: Bool 
    var id: String 
    var title: String 
    var userId: String 


    init(dict: NSDictionary) { 
     completed = dict["completed"] as? Bool ?? false 
     id = dict["id"] as? String ?? "" 
     title = dict["title"] as? String ?? "" 
     userId = dict["userId"] as? String ?? "" 
     super.init() 
    } 
} 

嘗試此解析創建模型代碼。現在

let arrayData : [YourData] = [] 

if let JSON = response.result.value as? [Dictionary] { 
    for dict in JSON { 
     let data = YourData(dict: dict) 
     arrayData.append(data) 
    } 
} 

您可以在tableview

+1

在3行:「對於以JSON字典」,得到了錯誤:類型「任何」不符合協議「序列」 –

+0

答案更新請aqnd讓我知道 –

+0

**不要使用'NSDictionary'在Swift中!**你扔掉強大的類型信息。 – vadian