如何使用 Alamofire 在 Xcode 8 Swift 3.0 中获取特定的 JSON?

Posted

技术标签:

【中文标题】如何使用 Alamofire 在 Xcode 8 Swift 3.0 中获取特定的 JSON?【英文标题】:How to get specific JSON in Xcode 8 Swift 3.0 using Alamofire? 【发布时间】:2017-01-16 02:55:04 【问题描述】:

我有这些 JSON 数据


    "ID":"ID01",
    "pass":"1234",
    "mail":"email@g.com"

我正在尝试仅使用 Alamofire 显示 ID,所有 JSON 对象都可以打印出来。

但是当我尝试专门打印时,出现错误“类型'Any'没有下标成员”行

print(JSON["ID"] as! String)

代码如下

import UIKit
import Alamofire
class ViewController: UIViewController 
    override func viewDidLoad() 
        super.viewDidLoad()

        Alamofire.request("http://localhost/get.php").responseJSON
             response in

                if let JSON = response.result.value 
                    print("JSON: \(JSON)")
                    print(JSON["ID"] as! String)
                
               
    

【问题讨论】:

【参考方案1】:

您应该尝试转换响应的值。

怎么样:

if let JSON = response.result.value as? [String : Any]
    print("JSON: \(JSON)")
    if let id = JSON["ID"] as? String 
        print(JSON["ID"])
    

【讨论】:

如果您不使用 SwiftyJSON 的功能,为什么还要使用它?而不是JSON["ID"] as? StringJSON["ID"].string。 :)

以上是关于如何使用 Alamofire 在 Xcode 8 Swift 3.0 中获取特定的 JSON?的主要内容,如果未能解决你的问题,请参考以下文章

Alamofire 在 Swift 3、Xcode 8 中出现错误

带有 xcode 8 的 Alamofire 2.0

Xcode 8.3.2 不适用于 Alamofire 4.4.0

使用逻辑的顺序请求 - Swift 3、Xcode 8、Alamofire 4

Alamofire 库 request.swift 文件中发生错误 - 更新到 xcode 8.1 后“任务使用不明确”

使用 Alamofire Swift 3 和 Xcode 8 beta 解析 JSON 没有数据