在 Alamofire 的参数中发送数组

Posted

技术标签:

【中文标题】在 Alamofire 的参数中发送数组【英文标题】:Sending array in parameter for Alamofire 【发布时间】:2018-09-29 16:18:23 【问题描述】:

我需要为我的Alamofire 请求发送以下数据作为参数:

key: "metas"

value: ["meta_id": 80, "quantity": 2, "add_quantity": true]

我试过了:

 let parameters: [String: AnyObject] = ["metas" : [["meta_id" : meta_id,
                                                  "quantity" : quantity,
                                                  "add_quantity" : true]] as AnyObject]

并在我的路由器中处理 Alamofire 请求:

urlRequest = try URLEncoding.default.encode(urlRequest, with: parameters)

【问题讨论】:

【参考方案1】:

您需要将您的数组转换为字符串,然后传递给您的字符串数组。 这里,param 是字符串数组,如

param:[String:String] = [:]

var arrayImages : [JSON] = []

let strImageString = JSON(arrayImages).rawString(.utf8, options: .prettyPrinted)
param["certification_image"] = strImageString

这是你的要求

Alamofire.request(url, method: .post, parameters: param, encoding: URLEncoding.default, headers: nil).responseSwiftyJSON(completionHandler:
            

                if $0.result.isSuccess
                
                    completion($0.result)
                
                else if $0.result.isFailure
                
                    let statusCode = $0.response?.statusCode
                    print("StatusCode : \(statusCode)")
                    if(statusCode == 500)
                    

                    else if(statusCode != nil)
                    
                        completion($0.result)
                    
                    else
                    
                        makeToast(message:  "Somethig_went_wrong_key")
                        completion($0.result)
                    
                else
                
                    makeToast(message:  "No_internet_connection_key")
                    completion($0.result)
                
        )

【讨论】:

以上是关于在 Alamofire 的参数中发送数组的主要内容,如果未能解决你的问题,请参考以下文章

在 swift 中使用 alamofire 发送 JSON 数组作为参数

使用 swift 在 Alamofire 中发送带有对象数组的 JSON 作为参数

如何在 alamofire multipartform 中发送数组参数?

Alamofire 发送带键和多值的参数数组

发送 JSON 数组作为参数 Alamofire

在 Alamofire Swift 3 中将数组作为参数发送