如何使用 Alamofire Swift 4 在 JSON 编码中传递数据

Posted

技术标签:

【中文标题】如何使用 Alamofire Swift 4 在 JSON 编码中传递数据【英文标题】:How to pass data in JSON Encoding with Alamofire Swift 4 【发布时间】:2018-03-20 11:18:08 【问题描述】:

无法弄清楚如何使用 Alamofire .post 方法将日期传递给服务器。我必须像这样形成 JSON 主体:


    "title": "My Title",
    "locations": [
        
            "location": "locationID"
        
        ],

我被困在 "locations" 属性上。可能它必须是一个对象数组,其中一个位置属性是字符串类型。目前我的代码是:

@IBAction func createEvent(_ sender: Any) 
    let parameters: Parameters = [
        "title": Event.title ?? nil,
        "locations":   //What have I wright here?
    ]

    Alamofire.request(requestURL,
                      method: .post,
                      parameters: parameters,
                      encoding: JSONEncoding.default,
                      headers: headers).responseJSON response in

                        switch response.result 
                        case .success:
                            print(response)

                        
                        case .failure(let error):

                            print(error)
                        
    

请帮忙。

【问题讨论】:

【参考方案1】:

你可以试试

let parameters: Parameters = [
    "title": Event.title ?? nil,
    "locations": [["location":"idherrr"]]
]

【讨论】:

这么简单!谢谢@Sh_khan,这是你第二次帮助我了!【参考方案2】:

你可以试试

let parameters: Parameters = [
    "title": Event.title ?? nil,
    "locations": [dictionary]]
]

【讨论】:

【参考方案3】:

如果您的 API 请求接受特定的字符串格式,那么您需要使用 DateFormatter 将日期格式转换为字符串格式,否则如果接受日期对象,则您传递但日期对象,但这可能是不可能的。所以请尝试使用由服务器参数预先确定的字符串格式的第一个选项转换日期。

或者如果可能的话,在您的服务器上共享请求参数类型支持。

【讨论】:

以上是关于如何使用 Alamofire Swift 4 在 JSON 编码中传递数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用参数 swift 3.0 Alamofire 4.0 调用邮政服务?

如何在 Swift 4 中使用 Alamofire 上传具有其他参数的多个图像

Alamofire 4 请求返回 NSArray,无法弄清楚如何在 Swift 3 中使用 SwiftyJSON 进行解析

如何使用 Alamofire,Swift 4 为 UICollectionView 获取 JSON 数据

如何使用 Alamofire Swift 4 在 JSON 编码中传递数据

如何在 Alamofire 4.0 中仅使用参数和正文在 swift 中使用 POST 方法发送请求?