[英]How to parse JSON dictionary using SwiftyJSON and Alamofire
[英]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.