我想知道是否可以在 POST 请求中直接发送一个数组(不包含在字典中)。显然 parameters
参数应该得到一个映射:[String: AnyObject]?
但我希望能够发送以下示例 json:
[
"06786984572365",
"06644857247565",
"06649998782227"
]
最佳答案
您可以使用 NSJSONSerialization
对 JSON 进行编码,然后自己构建 NSURLRequest
。例如,在 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)
AF.request(request) // Or `Alamofire.request(request)` in prior versions of Alamofire
.responseJSON { response in
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,请参阅 previous revision这个答案。
关于swift - 通过 Alamofire 发送 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27026916/