我对 swift 非常陌生,在我的代码中,我从某封电子邮件中获取 JSON,JSON 数据首先快速放入一个数组中,但是如果数组为空或没有 Json 数据,我会收到此错误
无法将“NSNull”(0x1067a5748)类型的值转换为“NSArray”(0x1067a4c58)。
我一直试图通过阅读其他帖子来解决这个问题,例如检查可选数组是否为空但它不起作用。问题出现在下面的代码中
session.dataTask(with:request, completionHandler: {(data, response, error) in
if error != nil {
print(error)
} else {
do {
let parsedData = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
if let musicJob = parsedData["music"] as! [AnyObject]? {
for S in musicjob {
if let genre = S["genre"] as? String {
self.genres.append(genre)
}
}
}
如果 Json 为空,我会在此处收到此行的错误
if let musicJob = parsedData["music"] as! [AnyObject]?
musicJob计算对象的数量,例如“30 个值或 44 个值”等。如果没有 Json 则返回 nil 并崩溃。无论如何我可以捕获 nil 或空数组的值,以便应用程序不会崩溃?只要 musicJob 数组不为空,一切都会再次运行。