首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON解析swift 3

JSON解析swift 3
EN

Stack Overflow用户
提问于 2016-12-13 06:36:28
回答 10查看 195关注 0票数 0
代码语言:javascript
复制
if statusCode == 200 {
    let json = response.result.value as? NSDictionary
    print("JSON FILE")
    //print(json)
    let companies = json?["companies"] as? [AnyObject]
    print(companies)
    for value in companies! {
        let address = value["address"] as? String
        print(address)
        let schedule = companies?["schedule"] as? [AnyObject]// as? NSDictionary
        print(schedule)
            for sch in schedule! {
        }
    }
}

这里的json文件

代码语言:javascript
复制
  {
      "code": "200",
      "message": "OK",
      "companies": [
        {
          "id": "1",
          "img": "doxsun.jpg",
          "schedule": [
            {
              "id": "1",
              "company_id": "1",
              "day": "0",
              "time_from": "06:00:00",
              "time_to": "23:00:00"
            }
          ]
        },
        {
          "id": "2",
          "img": "zalypa.jpg",
          "schedule": []
        }
      ]
 }

对于json文件解析,我有一个问题--如何正确地解析它?我不能解析日程安排。如何转换所有这些类型?通过文字传递质量。通过文字传递质量。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2016-12-13 06:47:41

使用as运算符正确类型存在一些转换问题。我相信下面的代码应该允许您迭代每一家公司的时间表:

代码语言:javascript
复制
if let JSON = response.result.value as? [String: AnyObject] {
  if let companies = JSON["companies"] as? [[String: AnyObject]] {
    for company in companies {
      if let schedules = company["schedule"] as? [[String: AnyObject]] {
        for schedule in schedules {
          // do something with the schedule
        }
      }
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2019-08-02 11:05:41

扩展ViewController : UITableViewDelegate,UITableViewDataSource { func tableView(_ tableView: UITableView,numberOfRowsInSection节: Int) -> Int {//返回2 //datamodel.count返回newarr.count }

代码语言:javascript
复制
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: tblCell.identifier, for: indexPath) as! tblCell
     self.json = newarr.object(at: indexPath.row) as! NSDictionary

    cell.lblName.text = json.value(forKey: "artistName") as? String


    return cell
}

}

扩展ViewController { func swiftyJson(){

代码语言:javascript
复制
    let url = URL(string: "https://itunes.apple.com/search?term=jack+johnson")
    //let url = URL(string: "http://makani.bitstaging.in/api/business/businesses_list")

    Alamofire.request(url!, method: .get, parameters: nil).responseJSON { response in

        switch(response.result) {
        case .success(_):

                let data = response.result.value as! NSDictionary
                self.newarr = data.value(forKey: "results")as! NSArray

                print(self.newarr)
                self.tblView.reloadData()
            break

        case .failure(_):
            print(response.result.error as Any)
            break

        }
    }

}

}

票数 0
EN

Stack Overflow用户

发布于 2020-03-18 04:43:33

让url =url(字符串:"https://api.androidhive.info/contacts") Alamofire.request(url!,方法:.get,参数: nil).responseJSON { response in

代码语言:javascript
复制
        switch(response.result) {
        case .success(_):

            if let dicData = response.result.value as? [String : Any]{

                if let arrOfCartDetails = Mapper<BaseDataModel>().map(JSON: dicData) {
                    self.arrData.append(arrOfCartDetails)
                    print(self.arrData)
                    if self.arrData.count > 0{
                        self.arrContect = self.arrData[0].contacts!
                        print(self.arrContect[0].phone?.home)

                    }
                    if self.arrContect.count > 0{
                        self.tblDemo.reloadData()
                    }
                }
            break

        case .failure(_):
            print(response.result.error as Any)
            break

        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41114980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档