Swift   发布时间:2022-04-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用Swift 3进行JSON序列化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过从 JSON数据填充数组来填充表.我正在使用下面的代码,但一直收到错误

在以下代码行中:

self.tableData.append(jsonresult[i]["title"]! as! String)
self.tableImages.append(jsonresult[i]["image"]! as! String)
self.tableDesc.append(jsonresult[i]["description"]! as! String)
self.tableValidity.append(jsonresult[i]["validity"]! as! String)

我的代码

let str3 = Int(str2!)!
            let url = NSURL(String: "https://www.*****.PHP")!

            let task = URLSession.shared.dataTask(with: url as URL) { (data,response,error) -> Void in
                if let urlContent = data {
                    do {

                        let jsonResult = try JSONserialization.jsonObject(with: urlContent,options: JSONserialization.ReadingOptions.mutableContainers)


                        print(str3)

                        var i = 0

                        while i < str3 {
                            print(jsonresult[i]["title"]! as!String)
                            print(jsonresult[i]["image"]! as! String)

                            self.tableData.append(jsonresult[i]["title"]! as! String)
                            self.tableImages.append(jsonresult[i]["image"]! as! String)
                            self.tableDesc.append(jsonresult[i]["description"]! as! String)
                            self.tableValidity.append(jsonresult[i]["validity"]! as! String)

                            i = i + 1

                        }

                    } catch {
                        print("JSON serialization Failed")
                    }                    

                } else {                    
                    print("ERROR FOUND HERE")
                }                

                DispatchQueue.main.async(execute: { () -> Void in

                    self.tableView.reloadData()

                })                                

            }

            task.resume()

解决方法

编译器不知道jsonResult的类型,你必须告诉它是什么,例如使用这样的可选绑定:

if let jsonResult = try JSONserialization.jsonObject(with: urlContent,options: []) as? [[String:AnyObject]] {


}

在这里,我将JSON转换为一组字典.如果let和它应该工作,请使用你的循环.

大佬总结

以上是大佬教程为你收集整理的使用Swift 3进行JSON序列化全部内容,希望文章能够帮你解决使用Swift 3进行JSON序列化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。