Swift - Alamofire - 解析 JSON
Posted
技术标签:
【中文标题】Swift - Alamofire - 解析 JSON【英文标题】:Swift - Alamofire - Parsing JSON 【发布时间】:2015-04-13 17:29:25 【问题描述】:我目前正在开发一个应用程序,我使用 Alamofire 从 Web 服务检索 JSON。
JSON 看起来像这样 (http://258labs.be/others/getly-webservice/getuserslocations.php):
[
"first_name":"Ludo",
"latitude":"50.8212662023034",
"longitude":"4.36678815633465"
,
"first_name":"Maxime",
"latitude":"50.8214004366864",
"longitude":"4.36678370989307"
]
我在网上看过很多用 Swift 解析 JSON 的帖子,不管有没有 Alamofire。而且我从未见过没有标题的 JSON 直接以一堆元组开头。所以我不知道如何解析它
这是我的 Alamofire 代码:
// Get informations from others users
Alamofire.request(.GET, "http://258labs.be/others/getly-webservice/getuserslocations.php").responseJSON()
(_, _, data, _) in
println(data)
for item in data! as [String: AnyObject]
println(item["first_name"])
你能告诉我处理这个 JSON 的方法吗?
提前致谢,抱歉如果是转帖,我尝试阅读大部分帖子,但没有一个看起来像这样。
【问题讨论】:
您是否遇到任何错误? 【参考方案1】:看看 SwiftyJSON。它与 Alamofire 搭配得很好
https://github.com/SwiftyJSON/SwiftyJSON
这是我的一种测试方法中的一些代码。
Alamofire.request(.GET, URL)
.responseJSON (request, response, json, error) in
var json = JSON(json!)
println(json["flights"][0])
expectation.fulfill()
JSON(json)
调用正在使用 SwiftyJSON 解析数据
所以在您的情况下,您可能需要类似:json["first_name"].string
【讨论】:
【参考方案2】:您的data
是一个字典数组。
Alamofire.request(.GET, "http://258labs.be/others/getly-webservice/getuserslocations.php").responseJSON()
(_, _, data, _) in
println(data)
if let decoded = data as? [[String: AnyObject]]
for dic in decoded
println(dic["first_name"])
【讨论】:
以上是关于Swift - Alamofire - 解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中将 Alamofire 结果解析为对象(使用:Alamofire、SwiftyJSON 和 ObjectMapper)