【问题标题】:Trying to fetch image URL in Swift using Google Image API尝试使用 Google Image API 在 Swift 中获取图像 URL
【发布时间】:2015-03-16 17:14:07
【问题描述】:

我正在尝试使用带有 JSON (https://developers.google.com/image-search/v1/jsondevguide) 的谷歌图片 API 来获取搜索内容时显示的第一张图片的 URL。这就是我所拥有的:

let placeName = "New York"

func getImage() {
    let url = NSURL(string: "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=\(placeName)")
    let request = NSURLRequest(URL: url!)
    NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()){ (response, go, error) -> Void in
    let go = NSJSONSerialization.JSONObjectWithData(go, options: NSJSONReadingOptions.AllowFragments, error: nil) as [String:AnyObject]
        let responseData = go["responseData"] as [String:AnyObject]
        // let results = responseData["results"] as [String:AnyObject]
        // let imageURL = results["unescapedUrl"] as String
        println(responseData)
}
}

responseData 部分已尽我所能(然后返回所有内容),但尝试更深一层(“结果”)会使它崩溃。

【问题讨论】:

  • 我建议你使用 alamofire 和 SwiftyJson。

标签: json api swift


【解决方案1】:

您将 results 声明为字典,但链接的 Google 页面显示了一个示例,其中 results 是字典数组。

您可以这样做:

let results = responseData["results"] as [[String:String]]
let firstObject = results[0]
let firstURL = firstObject["unescapedUrl"]

【讨论】:

  • 知道这将是一个简单的修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 2015-06-08
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多