如何使用Swift将NSURL转换为JSON

时间:2016-05-06 18:50:59

标签: json swift facebook facebook-graph-api nsurl

我正在尝试从图形url(在JSON中)获取响应并将其保存在变量中,但问题是我不知道这样做的语法而我找不到它在线,我所拥有的就是这一行,当我在浏览器中输入时,它正在为我提供所需的信息:

let usercontexturl: NSURL = NSURL(string: "https://graph.facebook.com/\(facebookContext)/mutual_friends?access_token=\(access_token)")!

我想要做的是将url的内容保存在变量中,我该怎么做?

更新

感谢@ JHZ的答案,我想出来了,我以前的代码是这样的:

let myrequest: NSURLRequest = NSURLRequest(URL: usercontexturl)
let mysession = NSURLSession.sharedSession()
let task = mysession.dataTaskWithRequest(myrequest) { data, response, error in
    do {
        let jsonresult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
        print(jsonresult)
    } catch {
        print(error)
    }
}
task.resume()

2 个答案:

答案 0 :(得分:2)

您正在寻找NSURLRequestNSURLSessionNSJSONSerialization

您需要this initializer

您应该将其反馈到this NSURLSession方法。

从完成处理程序中,您可以调用this method来获取JSON。

答案 1 :(得分:1)

感谢@JHZ我可以使它工作,我以前的代码是这样的:

let myrequest: NSURLRequest = NSURLRequest(URL: usercontexturl)
let mysession = NSURLSession.sharedSession()
let task = mysession.dataTaskWithRequest(myrequest) { data, response, error in
    do {
        let jsonresult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
        print(jsonresult)
    } catch {
        print(error)
    }
}
task.resume()