ios - NSJSON序列化: unexpectedly found nil while unwrapping an Optional value

标签 ios swift nsjsonserialization

通常情况下,以下代码可以正常工作,但有时我认为,JSON 返回 nil 并遇到 fatal error 。如果数据为零我该如何处理。

我在以下行遇到 EXC_BAD_INSTRUCTION 错误:

let profileJsonArray = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSArray

感谢您的帮助。

do {
        let profileJsonArray = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSArray

        if let parseJSONArray = profileJsonArray {                
            self.myProfileinfo = parseJSONArray

                    let name: String? = self.myProfileinfo[0].valueForKey("fullname") as? String
                    let messsage: String? = self.myProfileinfo[0].valueForKey("message") as? String
                    let infourl: String! = self.myProfileinfo[0].valueForKey("thumb") as? String
                    let prourl: String! = self.myProfileinfo[0].valueForKey("prothumb") as? String
                    let email: String? = self.myProfileinfo[0].valueForKey("email") as? String ...

最佳答案

读取网络响应时,应先检查是否有错误。

NSSession 例如:

let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
    if error {
        // Deal with error, e.g.
        print(error)
    }
    else {
        do {
            // Use data or response
            let profileJsonArray = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSArray
            // ....
        }
        catch {
            // Deal with error
        }
    }
})
task.resume();

关于ios - NSJSON序列化: unexpectedly found nil while unwrapping an Optional value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279034/

相关文章:

ios - UITableViewCell,设置带有多个标签的动态高度

ios - Swift 中的像素数组到 UIImage

ios - 如何在Ios中设置请求体中的对象名称以进行json解析

Swift:JSONSerialization SIGABRT 错误

ios - iframe 在 iOS 中不工作( ionic 框架)

ios - Flutter firebase消息传递,ios应用程序未收到 token

swift - 十进制小时显示 4 分 60 秒而不是 5 分钟

ios - 将更复杂的结构序列化为 JSON

android - 应用程序关闭时从 BLE 设备向手机推送通知或 Intent

ios - 在 objective-c 中停止浮点值四舍五入