ios - 快速解析Json数据

标签 ios arrays json swift swift3

我是 swift 代码的新手

enter image description here

这是我解析后的 json,我必须在 tableview 上显示, 我可以正确获取日期、详细信息、事件 ID,但无法获取横幅图片内的“eventImage”我可以尝试但没有得到请帮助我
这是我的代码
json调用函数

if errorCode == "0" {


                            if let Media_list = jsonData["events"] as? NSArray {


                                for i in 0 ..< Media_list.count {

                                    if let MediaEventData = Media_list[i] as? NSDictionary {




       =====>>     Hear the problem    let imageURL = self.url+"/images/" + String(describing: MediaEventData["bannerImage"]!)

                                            self.Mediainfo.append(MediaEvent(
                                            eventId: MediaEventData["eventId"]as?String,
                                            date: MediaEventData["date"]as?String,
                                            eventname: MediaEventData["eventName"]as?String,
                                            bannerImages: imageURL


                                           )
                                        )
                                    }

                                }
                                self.do_table_refresh()
                            }

我的tablview代码

  override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Media", for: indexPath)as! MediaCustomTableViewCell

       let  row = indexPath.row


        let media = Mediainfo[row] as MediaEvent

        cell.DisplayDate.text = media.date

        cell.DisplayName.text = media.eventName


         cell.DisplayImage.image = UIImage(named: "profile_pic")
         cell.DisplayImage.downloadImageFrom(link: media.bannerImages!, contentMode: .scaleAspectFit)


        // Configure the cell...

        return cell
    }

如何显示“横幅图片”tableview

最佳答案

我认为问题出在您访问横幅图片的方式上,我认为应该是这样的

MediaEventData["eventImages"][i]["bannerImage"]

其中 i 是您的 eventImages 数组的索引

在您的代码中,您可以这样做:

 var imageUrl: String = ""
if let Media_list = jsonData["events"] as? [Any] {


    for i in 0 ..< Media_list.count {

        if let MediaEventData = Media_list[i] as? [String: Any] {

            let eventImages = MediaEventData["eventImages"] as! [[String: Any]]
                if eventImages.count > 0 {
                   let bannerImage = eventImages[0]["bannerImage"] as? String

                   imageUrl = self.url+"/images/" + String(describing: bannerImage!)

                }



            self.Mediainfo.append(MediaEvent(
                eventId: MediaEventData["eventId"]as?String,
                date: MediaEventData["date"]as?String,
                eventname: MediaEventData["eventName"]as?String,
                bannerImages: imageURL


                )
            )



    }        
   }         

}

关于ios - 快速解析Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45545854/

相关文章:

javascript - 在 javascript 或 jquery 中比较两种不同的数组类型

javascript - 如何在 JavaScript 中向空数组添加数据使其成为多维数组?

json - Flowgear 将表单发布数据插入数据库

javascript - jQuery 及其 .getJSON 不工作以及如何同步异步 .getJSON?

objective-c - 如何在没有手势的情况下以编程方式触发翻页转换?

javascript - ios Cordova javascript 焦点事件永远不会到来

ios - 从文本文件ios搜索单词或单词组合

iphone - 在 MKMapview 中拟合图像

python - 加速 numpy 3D 数组的卷积循环?

javascript - 使用js将原始数据转为Array或Json