【发布时间】:2017-07-13 12:31:51
【问题描述】:
我知道这个问题可能是重复的。但我试图在股权溢出中找出这个解决方案。不幸的是,我没有想出正确的答案。这是我所做的。
我试图使用 alamofire 访问 Youtube 数据。在我看来DidLoad
let API_KEY = "**************"
let UPLOADS_PLAYLIST_ID = "PLqQMDoH89jqEoHMTsxxyMz1Hym_pOViq6"
let CHANNEL_ID = "UCcMUpFCaFhlyjZyy9d9LeRA"
let parameters = ["part":"snippet","channelId":CHANNEL_ID,"playListId":UPLOADS_PLAYLIST_ID,"key":API_KEY]
Alamofire.request("https://www.googleapis.com/youtube/v3/playlists", parameters: parameters, encoding: URLEncoding.default, headers: nil).responseJSON { (response) in
if let JSON = response.result.value{
for video in JSON["item"] as! NSArray {
print(video)
}
}
}
它给我错误类型“任何”没有下标成员
我也尝试了另一种方式,但这也给了我错误
Alamofire.request("https://www.googleapis.com/youtube/v3/playlists",
parameters: parameters, encoding: URLEncoding.default, headers:
nil).responseJSON { (response) in
switch(response.result) {
case .success(_):
if let JSON = response.result.value as! [[String : Any]]!{
for video in JSON["item"] as! NSArray {
print(video)
}
}
break
case .failure(_):
print("There is an error")
break
}
}
它给出一个错误并告诉它不能用字符串类型的索引来下标 '[[string:any]]' 类型的值
【问题讨论】:
-
阅读 JSON。这很容易。只有 2(两个!)集合类型:数组(
[])和字典({})。这个 JSON 清楚地以字典开头。