2015-05-22 16 views
12
var url: NSURL = NSURL(string: urlPath)! 

    var request: NSMutableURLRequest = NSMutableURLRequest(URL: url) 
    request.setValue("Basic \(base64EncodedCredential)", forHTTPHeaderField: "Authorization") 
    request.HTTPMethod = "GET" 

    var dataVal: NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error:nil)! 

    var err: NSError 
    println(dataVal) 


    //var jsonResult : NSDictionary? 
    var jsonResult = NSJSONSerialization.JSONObjectWithData(dataVal, options: NSJSONReadingOptions.MutableContainers, error: nil) as? NSDictionary 

    println("Synchronous \(jsonResult)") 
    jsonResult["records"] 

Đây là nơi xảy ra lỗi, tôi chỉ muốn lấy một giá trị từ jsonResult, được in chính xác trên bảng điều khiển.không thể chỉ số giá trị của loại NSDictionary với chỉ mục loại chuỗi

Trả lời

18

Bạn đang typecasting các JsonResult như NSDictionary, thay vì sử dụng [String:AnyObject]

Nếu bạn đang sử dụng NSDictionary, bạn nên sử dụng valueForKey(key) hoặc objectForKey(key) phương pháp NSDictionary để có được giá trị cho phím.

var url: NSURL = NSURL(string: urlPath)! 
    var err: NSError? 

     var request: NSMutableURLRequest = NSMutableURLRequest(URL: url) 
     request.setValue("Basic \(base64EncodedCredential)", forHTTPHeaderField: "Authorization") 
     request.HTTPMethod = "GET" 

     var dataVal: NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error:nil)! 

     var err: NSError 
     println(dataVal) 


     //var jsonResult : NSDictionary? 
     var jsonResult:AnyObject? = NSJSONSerialization.JSONObjectWithData(dataVal, options: NSJSONReadingOptions.MutableLeaves, error: &err) 

     println("Synchronous \(jsonResult)") 
     if let result = jsonResult as? [String: AnyObject] { 
      if let oneValue = result["records"] as? String { //Here i am considering value for jsonResult["records"] as String, if it other than String, please change it. 
      println(oneValue) 
      } 
     } 
+0

Tuy nhiên đâm với cùng một lỗi – BorjaCin

+0

var JsonResult = NSJSONSerialization.JSONObjectWithData (dataVal, lựa chọn: NSJSONReadingOptions.MutableLeaves, lỗi: & err) sử dụng dòng này. – Amit89

+0

Đã chỉnh sửa câu trả lời. – Amit89

Các vấn đề liên quan