我是Swift开发的新手。我正在尝试构建一个基本应用,该应用会从Google日历中读取以JSON格式返回的Feed。
我可以使用NSURLConnection.sendAsynchronousRequest调用,如此线程中所述:Make REST API call in Swift我得到了一些结果。
我的问题是我无法将JSON解析为一些有意义的对象,我可以从中创建即将发生的事件列表。
我的代码到目前为止是:
var url : String = "some url"
var request : NSMutableURLRequest = 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){
// No idea how to parse this object as it seems to be a NSDictionary but battling to interact with it.
}
else
{
}
})
非常感谢任何帮助。
答案 0 :(得分:1)
如果在
之后放置断点let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary
然后您就可以看到字典键/值对。我复制/粘贴了你的代码并看到了:
您可以使用jsonResult.objectForKey("keyName")
来访问这些值。我也会使用as DataType
投降。
实施例)
let encoding = jsonResult.objectForKey("encoding") as String
let version = jsonResult.objectForKey("version") as String
let feed = jsonResult.objectForKey("feed") as NSDictionary