如何在 swift 中使用 alamofire post 字典数组?

How to post array of dictionary with alamofire in swift?

我必须 post 这样的字典值数组。

{
    "reservedHour": "2019-11-01T14:55+0900",
    "reservedBoxSize": "sm",
    "products": [{
        "id": 312
    }],
    "boxArea": {
        "id": 66
    },
    "type": "RENT"
}

products 是 Json 对象的数组。

所以我试试这个。

func requestReserveAvailableDate(type: String, reserveHour: String, boxAreaID: Int, boxSize: String, productIDs: [Int], completionHandler: @escaping (_ availableDates: [String]?, _ errorMessage: String?) -> Void) {
let parameters: [String: Any] = ["type": type,
                                 "reservedHour": reserveHour,
                                 "boxArea": ["id": boxAreaID],
                                 "reservedBoxSize": boxSize,
                                 "products": productIDs.map({ ["id": [=13=]] })]
...

但这不起作用。
我只对所有 API 调用使用 alamofire。请帮我解决一下。

就这样试试

var parameters: [String: Any] = [:]
parameters = ["type": type,
              "reservedHour": reserveHour,
              "reservedBoxSize": boxSize,
              "boxArea": [],
              "products": []]

var boxAreaParams:[String:Any] = [:]
boxAreaParams = ["id": boxAreaID]
parameters["boxArea"] = boxAreaParams

var productsParmas: [string: Any] = [:]
productParams = ["id": productId]

var product = parameter["products"] as? [[String: Any]] ?? [[String: Any]]()
product.append(productParams)
parameters["product"] = product