是否可以在 Afnetworking POST 方法中发布字典数组?
Posted
技术标签:
【中文标题】是否可以在 Afnetworking POST 方法中发布字典数组?【英文标题】:Is Possible to POST array of dictionaries in Afnetworking POST Method? 【发布时间】:2014-08-21 05:20:04 【问题描述】:我正在开发一个 ios 应用程序,将数据发布到 Web 服务并从 Web 服务获取数据。 我正在使用 Afnetworking 将数据发布到 Web 服务。Web 服务以字典数组的形式接受数据,例如
["name":"stephen","age":25,"name":"john","age":35,"name":"david","age":45,"name":"roger","age":15]
需要在请求体中发送,并在请求头中设置Accept application/json。
我检查了一些已经在堆栈溢出中可用的示例,但所有示例都是关于 Post 字典的解释。我的问题是可以使用 Afnetworking 将数组发布到 Web 服务。如果可能的话,请帮助我开发完全符合我要求的代码。
【问题讨论】:
是的,如果你接受一个键的数组 @amar 数组对键?你能解释一下吗? 如果您在邮寄中发送它,那么它必须针对一个键值。您将发送一个字典,该字典将具有一个键如果您在单个数组中发送所有字典。首先,您必须对每个字典进行 JSON 序列化,然后将其放入数组中,然后再次 JSON 序列化整个数组。然后只有它会被称为正确的 JSON 格式。这是您可以做到的唯一方法。
【讨论】:
【参考方案2】:我给你的建议是使用 AFJSONRequestSerializer。
Swift 解决方案:
let manager = AFHTTPSessionManager(baseURL: URL(string: yourBaseURL))
manager.requestSerializer = AFJSONRequestSerializer()
let parameters: [[String: Any]] = [["name": "stephen", "age": 25], ["name": "john", "age": 35],["name": "david", "age": 45]]
manager.post(requestURL,
parameters: parameters,
progress: nil,
success: (task, data) in
// process server response
, failure: (task, error) in
// process error server response
)
AFJSONRequestSerializer 在请求头中将 Content-type 设置为 application/json。
【讨论】:
以上是关于是否可以在 Afnetworking POST 方法中发布字典数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AFNetworking 通过 Post 请求在服务器上发送 NSData?
AFNetworking POST 请求失败代码=-1011 (400)