我有一个在Cloudant中创建的数据库,我正在尝试解析我的Swift项目中的数据。我已导入Cloudant库,但我无法解析数据。
以下是我一直使用的代码
var url = "https://username:password@cloudant.com/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")
}
}
}
}
}
有人可以告诉我哪里出错了吗?
答案 0 :(得分:0)
您应该使用stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)来转换链接可能包含的任何特殊字符。此外,NSURL可能会返回nil,因此您需要使用if if to handle it,如下所示:
if let link = "https://username:password@cloudant.com/dashboard.html#/database/db_2/login_details".stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) {
if let checkedUrl = NSURL(string: link) {
println("valid Url")
// your code
} else {
println("invalid Url")
}
}