Swift3 JSON 使用 Alamofire
Posted
技术标签:
【中文标题】Swift3 JSON 使用 Alamofire【英文标题】:Swift3 JSON using Alamofire 【发布时间】:2017-04-02 21:10:00 【问题描述】:我是 Alamofire 和 Swift 的新手。
现在,我正在尝试从 API 转换 JSON,但我不知道如何转换它。
这样的 API:
[
"myid": "10303210302003",
"mySubid": "10303210302003",
"area_pkid": "3"
,
"myid": "10303210302004",
"mySubid": "10303210302004",
"area_pkid": "4"
,
....]
我对 "[" 和 "]" 很困惑,我不知道如何转换它并获取 myid。
这是我的代码
Alamofire.request(MyURL, method: .get).responseJSON (response) in
guard let totalJSON = response.result.value as? [String : Any] else return // My code is just return !! WHY??
【问题讨论】:
很简单:[]
是数组,
是字典。提示:根对象不是字典。
@vadian 谢谢!!!!太棒了,我会继续努力的
@vadian 谢谢你,我明白了!
【参考方案1】:
很简单
guard let totalJSON = response.result.value as? [[String : Any]] else return
for item in totalJSON
print(item["myid"] as? String ?? "n/a")
因为封闭对象是一个数组 ([]
)
如果所有值都是String
,您甚至可以将数组转换为[[String:String]]
【讨论】:
再次感谢我的朋友! :)【参考方案2】:是的,[]
是一个数组, 代表字典。所以要获得
myid
,只需这样做:
guard let totalJSON = response.result.value as? [Any] else return
if let i = a["myID"] as? String, let a = totalJSON[0] as? [String: Any]
print(i)
【讨论】:
比你!我明白了:)以上是关于Swift3 JSON 使用 Alamofire的主要内容,如果未能解决你的问题,请参考以下文章