swift - 通过 Alamofire 发送 json 数组

标签 swift alamofire

我想知道是否可以在 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/

相关文章:

swift - 你如何在 Swift 中测试字符串的身份?

ios - Coredata managedObject 问题 swift

swift - 如何: Blank cocoa application lacking interface builder entry point

swift - 在 1 个 View Controller 中显示图像到 2 个 Collection View

ios - NSMutableURLRequest setValue :forHTTPHeaderField xcode 6. 2 不适用于 "application/json; charset=utf-8"

swift - 使用 Alamofire 将图像上传到 API 服务器

swift - 如何在 `NSURLSession` 超时时显示错误并终止应用程序?

ios - layoutIfNeeded 内的代码被调用两次

ios - 如何使用 Alamofire 记录每个请求/响应?

ios - 使用 Alamofire.upload 时出现段错误 : 11,