swift - Alamofire:创建字典数组

标签 swift alamofire

需要发送给服务器的JSON是这样的:

[
    {
        "value": "0",
        "optionId": "de07a0ae-9b85-4f2a-bd8f-28f0ccb55f81"
    },
    {
        "value": "1",
        "optionId": "abe075ef-d76e-45e0-ace9-e73218604b87"
    },
    {
        "value": "0",
        "optionId": "820124a6-a6ed-499e-8d0d-7ac04160f56d"
    },
    {
        "value": "0",
        "optionId": "0d8cb27a-2659-4e54-a4f0-0b0a10131da5"
    }
]

所以我创建了一个字典数组:

var parameters = [[String:NSObject]]()

但是 Alamofire 只接受字典。有没有办法自己进行 JSON 编码并将其作为参数传递给 Alamofire?或者你会如何解决?

Cannot convert value of type '[[String : NSObject]]' to expected argument type '[String : AnyObject]?'

最佳答案

您应该能够通过将数组序列化为 json 来像这样发送它。

var parameters = [[String:AnyObject]]()
if let url = NSURL(string:urlString){
    let request = NSMutableURLRequest(URL: url)

            request.setValue("application/json", forHTTPHeaderField: "Content-Type")
            request.HTTPMethod = "POST"

            request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(parameters, options: [])

            Alamofire.request(request)
                .responseJSON { response in
                    switch response.result {
                    case .Success(let responseObject):
                        print(responseObject)
                    case .Failure(let error):
                        print(error)
                    }
            }
}

关于swift - Alamofire:创建字典数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33806457/

相关文章:

ios - fatal error : unexpectedly found nil while unwrapping an Optional value

ios - Apple Watch 在 15 分钟后失去与 iOS 应用程序的连接

ios - 拉动刷新不起作用

ios - Alamofire 优先队列

swift - 我是否需要明确说明我想在 xcode 9、swift 4 中使用 cocoapods 安装哪个版本的 alamofire

ios - Parse Cloud - LiveQueries - iOS 客户端不工作

ios - UITableViewCell 内的 AVPlayer 与其他 View 自动布局

ios - Alamofire 解析 JSON 消息和状态

ios - 快速触摸开始并将其显示在触摸的对象上

ios - Swift Alamofire 从刷新 token 请求错误中获取 token