繁体   English   中英

如何在swift中使用alamofire和swiftyjson解析分页网址?

[英]how to parse pagination url using alamofire and swiftyjson in swift?

我有一个支持分页的json网址。 我的问题是如何使用alamofire和swiftyjson解析此分页页面?

我的json网址像:

{  
   "meta":{  
      "code":200
   },
   "data":{  },
   "pagination":{  
      "total":86,
      "totalPages":3,
      "page":1,
      "nextPage":2,
      "nextPageUrl":"http://.............?page=2"
   }
}

** !!!!!!! 更新!!!!!!! **

我的代码是这样,但我得到一些例外:

func GetDataFromUrl(from:String){

        Alamofire.request(from, method: .get).validate().responseJSON { response in
            switch response.result {
            case .success(let value):
                let json = JSON(value)

                self.storeData = [PopulerMagazalarData]()

                      //...Creating Data Obj.

                        let data = PopulerMagazalarData()

                        let username = json["data"]["store"]["user"]["username"].string
                        let userpic = json["data"]["store"]["user"]["profilePicture"].string
                        let productsCount = json["data"]["store"]["productsCount"].int
                        let description = json["data"]["store"]["description"].string
                        let followedby = json["data"]["store"]["user"]["counts"]["followedBy"].int
                        let totalPage = json["pagination"]["totalPages"].int
                        let count:Int? = json["data"]["products"].array?.count
                        if let ct = count {

                            for index in 0...ct-1{

                           let datas = PopulerMagazalarData()

                           let images = json["data"]["products"][index]["images"]["standart"]["url"].string

                            datas.img1 = images
                            self.storeData.append(datas)
                            }
                        }


                        //*****************
                        data.username = username
                        data.profilPic = userpic
                        data.producsCount = productsCount
                        data.desc = description
                        data.followedby = followedby

                        //******************
                        self.storeData.append(data)

                for index in 2 ... totalPage!  {

                   self.GetDataFromUrl(from: "https://api......../store/\(username!)?page=\(index)")
                }

                                  // for refresh collecitonView
                    self.refresh_now()



            case .failure(let error):
                print(error)
            }
        }
    }

    //...CollectionView ReloadData func...
    func refresh_now(){

        DispatchQueue.main.async (
            execute:
            {
                self.MyStoreCollectionView.reloadData()
        }
        )

    }

但是,当我滚动我的应用程序时,请放下它。

// make the request with Alamofire
Alamofire.request("myUrl").response { response in 

    // to create the SwiftyJSON object
    let json = JSON(data: response.data!)

    // get the values from the json response
    let code = json["meta"]["code"].int
    let total = json["pagination"]["total"].int

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM