我是Swift的新手,在我的代码中,我从某封电子邮件中获取JSON,首先将JSON数据以swift的形式放入Array,但是如果该数组为null或没有Json数据,则会出现此错误
无法将类型'NSNull'(0x1067a5748)的值强制转换为'NSArray'(0x1067a4c58)。
我一直在尝试通过阅读其他帖子(例如Check if optional array is empty)来解决此问题,但它不起作用。该问题随以下代码一起提供
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为null,则在此行上将收到错误消息
if let musicJob = parsedData["music"] as! [AnyObject]?
musicJob 对对象的数量进行计数,例如“30个值或44个值”等。如果没有Json,则返回nil并崩溃。 我是否仍然可以捕获nil或空数组的值,以使应用程序不会崩溃? 同样,只要musicJob数组不为空,一切都可以正常工作。
最佳答案
试试这个:
if let musicJob = parsedData["music"] as? [AnyObject]
关于ios - iOS快速获取Json数据时如何检查空数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40756199/