本文介绍了通过Alamofire发送json数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道是否可以在POST请求中直接发送数组(未包装在字典中)。显然,参数参数应该获得以下内容的映射:[String:AnyObject]? 但我希望能够发送以下示例json:
I wonder if it's possible to directly send an array (not wrapped in a dictionary) in a POST request. Apparently the parameters parameter should get a map of: [String: AnyObject]? But I want to be able to send the following example json:
[ "06786984572365", "06644857247565", "06649998782227" ]推荐答案
您只需使用 NSJSONSerialization 编码JSON,然后自己构建 NSURLRequest 。例如,在Swift 3中:
You can just encode the JSON with NSJSONSerialization and then build the NSURLRequest yourself. For example, in Swift 3:
var request = URLRequest(url: url) request.httpMethod = "POST" request.setValue("application/json", forHTTPHeaderField: "Content-Type") let values = ["06786984572365", "06644857247565", "06649998782227"] request.httpBody = try! JSONSerialization.data(withJSONObject: values) Alamofire.request(request) .responseJSON { response in // do whatever you want here switch response.result { case .failure(let error): print(error) if let data = response.data, let responseString = String(data: data, encoding: .utf8) { print(responseString) } case .success(let responseObject): print(responseObject) } }对于Swift 2,请参见上一个此答案的修订版本。
For Swift 2, see previous revision of this answer.
更多推荐
通过Alamofire发送json数组
发布评论