在Alamofire的参数中发送数组

时间:2018-09-29 16:18:24

标签: swift alamofire

我需要发送以下数据作为我的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 个答案:

答案 0 :(得分:2)

您需要将数组转换为字符串,然后传递到字符串数组。 在这里,参数是像

这样的字符串数组
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)
                }
        })
相关问题