我收到以下代码的“对成员下标的模糊引用”错误 -
let resultsDict = try JSONSerialization.jsonObject(with: data!, options: []) as! Dictionary<NSObject, AnyObject>
let items: Array<Dictionary<NSObject, AnyObject>> = resultsDict["items"] as! Array<Dictionary<NSObject, AnyObject>>
答案 0 :(得分:1)
首先,我不会将NSObject
与JSONSerialization
一起使用,而是使用[AnyHashable: Any]
或[String : Any]
。其次,我建议您使用括号中的速记字典和数组语法。我还建议使用安全向下转换(as ?
)与if let
而不是强制向下转发(as!
)以确保安全。
do {
if let resultsDict = try JSONSerialization.jsonObject(with: data!, options: []) as? [String : Any] {
let items = resultsDict["items"] as? [[String : Any]]
// use items
}
} catch {
// handle error
}