ios - 在 swift4 中将 JSONresponse 转换为 NSDATA 或 NSDICTIONARY

标签 ios swift swift4 nsjsonserialization

我以 JSONarray 的形式从公共(public)测试 api 中得到响应:

func getFlightData(airportCode: String, minutesBehind: String, minutesAhead:String){
    let securityToken: String = "Basic YWFnZTQxNDAxMjgwODYyNDk3NWFiYWNhZjlhNjZjMDRlMWY6ODYyYTk0NTFhYjliNGY1M2EwZWJiOWI2ZWQ1ZjYwOGM="
    var headers: HTTPHeaders = [:]
    headers["Authorization"] = securityToken
    let parameters: Parameters = ["city": airportCode, "minutesBehind" : minutesBehind, "miutesAhead" :minutesAhead]
            Alamofire.request("https://api.qa.alaskaair.com/1/airports/"+airportCode+"/flights/flightInfo", parameters: parameters, headers: headers).responseJSON { (response) in
        print(response)

    }

我在swift4中使用almofire实现了这个操作。

我应该将这个 JSONArray 转换为 NSData 还是 NSDictionary?如何? 我必须使用 JSONSerealization 吗?

最佳答案

您已经在使用 Alamofire 作为您的网络请求器,因此没有必要将响应对象转换为 JSON 对象或数据对象。库本身将提供解析的 JSON 对象。因此,请检查以下示例代码以检查 JSON 对象。

    let urlString = "https://......"
    let securityToken: String = "Basic YWFnZTQxNDAxMjgwODYyNDk3NWFiYWNhZjlhNjZjMDRlMWY6ODYyYTk0NTFhYjliNGY1M2EwZWJiOWI2ZWQ1ZjYwOGM="
    var headers: HTTPHeaders = [:]
    headers["Authorization"] = securityToken
    let parameters: Parameters = ["city": 100, "minutesBehind" : 60, "miutesAhead" :0]
    Alamofire.request(urlString, method: .get, parameters: parameters, encoding: JSONEncoding.default, headers: headers).validate().responseJSON { (response) in
        if let jsonObject = response.result.value{
            print("response.result.value \(String(describing: jsonObject))")
        }

        if let jsonObject = response.value{
            print("response.value \(String(describing: jsonObject))")
        }
    }

关于ios - 在 swift4 中将 JSONresponse 转换为 NSDATA 或 NSDICTIONARY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49398792/

相关文章:

ios - 为 IOS 创建网络共享应用程序

ios - 此时不拥有的引用计数的不正确减少

文本正文中的 iOS Mail.app 换行符

ios - 如何使用自动布局在对象之间创建间隙

ios - 执行时“else”语句未在 'didSelectRowAt' 函数中运行

swift - 无法从标有相同 globalActor 的闭包安全地访问 globalActor 的方法

iOS Swift 通用函数 tot 处理通用链接

ios - 点击按钮时更改 UIBarButtonItem tintColor?

ios - 快速创建单独的计时器

ios - 在静态背景图像上调整按钮大小和位置