0

我已经将我的代码更新为 Swift 3 协议,这是我遇到的最后一个关于 JSON 无法解决的错误。

这是我的代码:

    let task = URLSession.shared.dataTask(with: targetURL!, completionHandler: { (data, response, error) -> Void in
        do {
            if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as? [String : AnyObject] {

                if let items = jsonResult["items"] as? [String : AnyObject]? {

                    if let youtubeVideoImageURL = items![0]["snippet"]!!["thumbnails"]!!["high"]!!["url"]!! as? String {

                        self.youtubeJsonImage.loadImageUsingCacheWithUrlString(youtubeVideoImageURL)
                        self.youtubeImageURLHidden.text = youtubeVideoImageURL
                        self.youtubeJsonImage.clipsToBounds = true

                    } else {

                        let youtubeVideoImageURL = items![0]["snippet"]!!["thumbnails"]!!["standard"]!!["url"]!! as? String
                        self.youtubeJsonImage.loadImageUsingCacheWithUrlString(youtubeVideoImageURL!)
                        self.youtubeImageURLHidden.text = youtubeVideoImageURL
                        self.youtubeJsonImage.clipsToBounds = true


                    }

                    let youtubeLikeCount = items![0]["statistics"]!!["commentCount"]!!
                    let itermediarytext = youtubeLikeCount as! String
                    let numberText = Int(itermediarytext)
                    let finalText = self.suffixNumber(numberText!)
                    self.youtubeVideoLikes.text = "\(finalText) comments"

                    self.determineBool()


                }
            }
        }
        catch {
            print("json error: \(error)")
            self.stopAnimating()

        }

    })

    // Start the request
    task.resume()

}

这是歧义参考的错误行,

if let youtubeVideoImageURL = items![0]["snippet"]!!["thumbnails"]!!["high"]!!["url"]!! as? String {

我还查看了其他堆栈溢出解决方案,但它们似乎不适用于这种类型的数据结构。

非常感谢任何帮助。

谢谢。

4

0 回答 0