2015-03-03 38 views
0

我有一個在Cloudant中創建的數據庫,我試圖解析Swift項目中的數據。我導入了Cloudant庫,但我無法解析數據。從雲中獲取JSON數據

這是我一直在使用,直至現在已代碼

var url = "https://username:[email protected]/dashboard.html#/database/db_2/login_details" 
var request = NSMutableURLRequest() 
request.URL = NSURL(string: url) 
request.HTTPMethod = "GET" 

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in 
    var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil 
    let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary 
    if jsonResult != nil { 
     if let item = json[0] { 
      if let student_name = item["Student_name"] { 
       if let pasword = student_name["password"] { 
        println("Login Successfull") 
       } 
      } 
     } 
    } 
} 

有人可以告訴我,我要去哪裏錯了?

+1

嘗試解開你的網址NSURL(string:url)! – 2015-03-03 08:03:36

+0

怎麼回事?一個錯誤?不正確的行爲?當你試圖運行代碼時,Flying Spahetti Monster吃了你唯一的百吉餅嗎?您需要提供有關「我無法解析數據」的更多詳細信息。意味着你的情況。 – Aiken 2015-03-03 08:06:56

+0

這段代碼沒有做任何事情。這就是我沒有解析數據的意思。 – user3759616 2015-03-03 08:11:23

回答

0

你應該使用stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)來轉換你的鏈接可能有的任何特殊字符。也NSURL可能會返回零,所以你需要使用,如果讓我們來處理它如下:

if let link = "https://username:[email protected]/dashboard.html#/database/db_2/login_details".stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) { 
    if let checkedUrl = NSURL(string: link) { 
     println("valid Url") 
     // your code 
    } else { 
     println("invalid Url") 
    } 
}