gpt4 book ai didi

json - 带有嵌套 JSON 参数的 Alamofire 发布请求

转载 作者:搜寻专家 更新时间:2023-11-01 06:17:29 25 4
gpt4 key购买 nike

我的 Alamofire 发布请求如下所示:

Alamofire.request("http://...", method: HTTPMethod.post, parameters: parameters, encoding: JSONEncoding.default, headers: nil)
.responseJSON(completionHandler: {(response) in ... })

如果我的参数很简单,一切正常:

let parameters: Parameters = [
"firstName": "John",
"lastName": "Doe"
]

如果我的参数包含 json 对象,我就会遇到问题。

let address: JSON = [
"street": "1234 Fake St",
"city": "Seattle",
"state": "WA"
]

let parameters: Parameters = [
"firstName": "John",
"lastName": "Doe",
"address": address
]

Alamofire 请求没有执行,我的应用程序崩溃了。

最佳答案

我认为这里的问题是 Alamofire 试图将参数编码为 json,而该参数已经是 json 对象。本质上,双重编码会导致应用程序崩溃。

我找到的解决方案是在使用 SwiftyJSON 的 .rawValue 执行请求之前解码 json 参数。

let parameters: Parameters = [
"firstName": "John",
"lastName": "Doe",
"address": address.rawValue
]

https://github.com/SwiftyJSON/SwiftyJSON#raw-object

关于json - 带有嵌套 JSON 参数的 Alamofire 发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com