如何在Alamofire,swift 3中将字典作为参数发送

时间:2016-10-31 06:11:20

标签: parameters get swift3 nsdictionary alamofire

我想发送以下参数

gridBlock.css({backgroundColor:randomColor});

所以我尝试了这个

{"serial_number":{"type":"match", "value":"somevalue"}}

和' GET'像这样

 let parameters : [String:AnyObject] = [
            "serial_number":[
                "type":"match",
                "value":serialNum
            ]
        ]

但对我不起作用。如何获得

Alamofire.request(.GET, Constant.WebClient.Cool + "/creator/" + cid + "/wa?filling=", parameters: nil, headers: headers)
            .responseJSON { response in

                switch response.result {
                case.Success(let JSON):
                    print("get json is success")
                    if JSON["status"] != nil && JSON["status"] as! String == "fail"{
                        print("some error occured")
                    }
                    else{
                        let resultArray = JSON as! NSArray
                        print("\(resultArray)")
                    }
                    break
                case .Failure(let error):
                    print("request failed with error : \(error.localizedDescription)")

                }

        }

到字典。希望你对此有所帮助。当我尝试打印字典时,它就像下面的

{"serial_number":{"type":"match", "value":"someval"}}

希望你对此有所帮助。

1 个答案:

答案 0 :(得分:1)

alamofire请求使用默认编码,即URLEncoding.default,在这种情况下,它不会按预期工作,因此您必须将编码更改为JSONEncoding(options: [])

关注文档:https://github.com/Alamofire/Alamofire#json-encoding