【问题标题】:Parse Google Calendar JSON in SWIFT在 SWIFT 中解析 Google 日历 JSON
【发布时间】:2014-11-06 09:17:39
【问题描述】:

我是 Swift 开发的新手。我正在尝试构建一个基本应用程序,它将读取来自 Google 日历的提要,该提要以 JSON 形式返回。

我可以使用 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 
    {

    }
})

任何帮助将不胜感激。

【问题讨论】:

  • 您不应使用日历 GData 提要。 GData 关闭日期是今年 11 月 17 日。改为查看 v3 版本:developers.google.com/google-apps/calendar
  • 非常感谢 - 非常有帮助.. 我不知道他们会结束它。

标签: ios json swift google-calendar-api


【解决方案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

【讨论】:

  • jsonResult.objectForKey("keyName") 他们是我这里的关键以及我所缺少的。我发现我试图以不正确的方式读取对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多