gpt4 book ai didi

swift - 使用 Alamofire 4.0 和 Swfit 3 解析字典数组

转载 作者:搜寻专家 更新时间:2023-11-01 05:50:04 25 4
gpt4 key购买 nike

我想知道如何在 Alamofire 中解析并从 API 获取所有数据。

这是从 API 下载一个数据字典的代码。我如何从中下载其他东西?

这是来自 JSONFormatter 的屏幕截图:

http://imgur.com/a/rhxBO

func downloadJsonData (completed: @escaping DownloadCompleted) {
Alamofire.request(url, method: .get).responseJSON { response in
let result = response.result.value
if let dict = result as? [Dictionary<String,AnyObject>] {

if let id = dict[0]["id"] as? String {
self._id = id
print("@@@\(self._id)")
}

if let name = dict[0]["name"] as? String {
self._name = name
print("@@@\(self._name)")
}

if let avatar = dict[0]["avatar"] as? String {
self._avatar = avatar
print("@@@\(self._avatar)")
}

if let lat = dict[0]["lat"] as? Float {
self._lat = lat
print("@@@\(self._lat)")
}

if let lng = dict[0]["lng"] as? Float {
self._lng = lng
print("@@@\(self._lng)")
}
}
}
completed()
}

最佳答案

func downloadJsonData (completed: @escaping DownloadCompleted) {
Alamofire.request(url, method: .get).responseJSON { response in
if let collectionData = response.result.value as? [[String:AnyObject]] {
let collection : [YourStruct] = collectionData.flatMap { data in
guard let id = data["id"] as? String,
let name = data["name"] as? String,
let avatar = data["avatar"] as? String,
let lat = data["lat"] as? Float,
let lng = data["lng"] as? Float
else {
return nil
}

return YourStruct(id:id, name:name, avatar:avatar, lat:lat, lng:lng)
}
}
}
completed()
}

现在您有了对象的集合。有了它你可以做你想做的事

关于swift - 使用 Alamofire 4.0 和 Swfit 3 解析字典数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42284306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com