从cloudant获取JSON数据

时间:2015-03-03 07:48:25

标签: swift cloudant

我有一个在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")
                }
            }
        }
    }
}

有人可以告诉我哪里出错了吗?

1 个答案:

答案 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")
    }
}